Сегодня краткий пост о том, как привести переменную какого-то типа к типу массив (array).
Итак, первый вариант, сразу приходящий в голову:
$var = 42;
$varArray = [$var];
Он хорош до тех пор, пока $var
не является массивом. В случае с массивом мы получаем двумерный массив. Естественно, это нас не устраивает. Поэтому улучшаем конструкцию:
$var = 42;
if (!is_array($var)) {
$var = [$var];
}
Но тут многовато строк, можно ли попроще?
Вспоминаем, зачем мы здесь реально собрались, и используем приведение типов:
$var = 42;
$varArray = (array) $var;
print_r($varArray);
// Вывод: Array
// (
// [0] => 42
// )
$var = [42, 42];
$varArray = (array) $var;
print_r($varArray);
// Вывод: Array
// (
// [0] => 42
// [1] => 42
// )
На этом всё.