Функција arrayval
У стандардној библиотеци PHP-а нема функције arrayval, али се таква функционалност може имплементирати самостално. Испод је дат пример имплементације која конвертује било коју вредност у низ: ако је вредност већ низ, враћа се непромењена, за остале типове се прави низ са једним елементом.
Имплементација функције
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Пример употребе
Конвертујмо стринг у низ користећи нашу функцију:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Резултат извршавања кода:
['abcde']
Пример употребе
Покушајмо да конвертујемо број:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Резултат извршавања кода:
[123]
Пример употребе
Проверимо рад са низом:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Резултат извршавања кода:
[1, 2, 3]
Алтернативна решења
У PHP-у постоје и други начини за конверзију у низ:
<?php
// Коришћење (array) кастовања типа
$array = (array)'string';
print_r($array); // ['string']
// За објекте кастовања типа функционише другачије
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>