Funcția arrayval
În biblioteca standard PHP nu există funcția arrayval, dar puteți implementa o funcționalitate similară independent. Mai jos este prezentat un exemplu de implementare, care transformă orice valoare în array: dacă valoarea este deja un array, aceasta este returnată fără modificări, pentru alte tipuri este creat un array cu un element.
Implementarea funcției
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Exemplu de utilizare
Să transformăm un șir de caractere în array cu ajutorul funcției noastre:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Rezultatul executării codului:
['abcde']
Exemplu de utilizare
Să încercăm să transformăm un număr:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Rezultatul executării codului:
[123]
Exemplu de utilizare
Să verificăm funcționarea cu un array:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Rezultatul executării codului:
[1, 2, 3]
Soluții alternative
În PHP există alte modalități de transformare în array:
<?php
// Utilizarea conversiei de tip (array)
$array = (array)'string';
print_r($array); // ['string']
// Pentru obiecte conversia de tip funcționează diferit
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>