Functie arrayval
De standaardbibliotheek van PHP heeft geen arrayval-functie, maar je kunt vergelijkbare functionaliteit zelf implementeren. Hieronder staat een voorbeeldimplementatie die elke waarde naar een array converteert: als de waarde al een array is, wordt deze ongewijzigd geretourneerd; voor andere typen wordt een array met één element gemaakt.
Implementatie van de functie
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Voorbeeld van gebruik
Laten we een string naar een array converteren met onze functie:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Resultaat van de code-uitvoering:
['abcde']
Voorbeeld van gebruik
Laten we proberen een getal te converteren:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Resultaat van de code-uitvoering:
[123]
Voorbeeld van gebruik
Laten we de werking met een array controleren:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Resultaat van de code-uitvoering:
[1, 2, 3]
Alternatieve oplossingen
In PHP bestaan er andere manieren om naar een array te converteren:
<?php
// Gebruik van (array) type casting
$array = (array)'string';
print_r($array); // ['string']
// Voor objecten werkt type casting anders
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>