Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
40 of 410 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

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

Смотрите также

  • функцию is_array,
    которая проверяет, является ли переменная массивом
  • функцию settype,
    которая преобразует тип переменной
byenru