Funksjonen arrayval
I PHPs standardbibliotek finnes det ingen funksjon kalt arrayval, men du kan implementere lignende funksjonalitet selv. Nedenfor er en eksempelimplementering som konverterer enhver verdi til en array: hvis verdien allerede er en array, returneres den uendret, for andre typer opprettes en array med ett element.
Implementering av funksjonen
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Eksempel på bruk
La oss konvertere en streng til en array ved hjelp av vår funksjon:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Resultat av kjøring av koden:
['abcde']
Eksempel på bruk
La oss prøve å konvertere et tall:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Resultat av kjøring av koden:
[123]
Eksempel på bruk
La oss sjekke hvordan den fungerer med en array:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Resultat av kjøring av koden:
[1, 2, 3]
Alternative løsninger
I PHP finnes det andre måter å konvertere til array på:
<?php
// Bruk av (array) typekonvertering
$array = (array)'string';
print_r($array); // ['string']
// For objekter fungerer typekonvertering annerledes
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>