Funkcia arrayval
V štandardnej knižnici PHP neexistuje funkcia arrayval, ale je možné implementovať podobnú funkcionalitu samostatne. Nižšie je uvedený príklad implementácie, ktorá konvertuje akúkoľvek hodnotu na pole: ak je hodnota už pole, vráti sa bez zmien, pre ostatné typy sa vytvorí pole s jedným prvkom.
Implementácia funkcie
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Príklad použitia
Premeňme reťazec na pole pomocou našej funkcie:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Výsledok vykonania kódu:
['abcde']
Príklad použitia
Skúsme previesť číslo:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Výsledok vykonania kódu:
[123]
Príklad použitia
Skontrolujme činnosť s poľom:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Výsledok vykonania kódu:
[1, 2, 3]
Alternatívne riešenia
V PHP existujú iné spôsoby prevodu na pole:
<?php
// Použitie (array) pretypovania
$array = (array)'string';
print_r($array); // ['string']
// Pre objekty pretypovanie funguje inak
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>