Fonction arrayval
La bibliothèque standard de PHP ne dispose pas de fonction arrayval, mais il est possible d'implémenter soi-même une fonctionnalité similaire. Ci-dessous se trouve un exemple d'implémentation qui convertit n'importe quelle valeur en tableau : si la valeur est déjà un tableau, elle est retournée sans modification, pour les autres types, un tableau avec un seul élément est créé.
Implémentation de la fonction
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Exemple d'utilisation
Convertissons une chaîne de caractères en tableau à l'aide de notre fonction :
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Résultat de l'exécution du code :
['abcde']
Exemple d'utilisation
Essayons de convertir un nombre :
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Résultat de l'exécution du code :
[123]
Exemple d'utilisation
Vérifions le fonctionnement avec un tableau :
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Résultat de l'exécution du code :
[1, 2, 3]
Solutions alternatives
Il existe d'autres moyens de conversion en tableau en PHP :
<?php
// Utilisation du cast (array)
$array = (array)'string';
print_r($array); // ['string']
// Pour les objets, le cast fonctionne différemment
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>