Funktionen arrayval
I PHPs standardbibliotek finns ingen funktion arrayval, men man kan implementera liknande funktionalitet själv. Nedan presenteras en exempelimplementation som konverterar vilket värde som helst till en array: om värdet redan är en array returneras det oförändrat, för andra typer skapas en array med ett element.
Implementation av funktionen
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Exempel på användning
Låt oss konvertera en sträng till en array med vår funktion:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Resultatet av kodkörningen:
['abcde']
Exempel på användning
Låt oss försöka konvertera ett nummer:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Resultatet av kodkörningen:
[123]
Exempel på användning
Låt oss kontrollera funktionen med en array:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Resultatet av kodkörningen:
[1, 2, 3]
Alternativa lösningar
Det finns andra sätt att konvertera till array i PHP:
<?php
// Användning av (array) typkonvertering
$array = (array)'string';
print_r($array); // ['string']
// För objekt fungerar typkonvertering annorlunda
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>