Функция 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']
?>