Как преобразовать целое число в массив в PHP?

#php #arrays

#php #массивы

Вопрос:

Какой был бы самый простой способ преобразовать целое число в массив чисел?

Пример:

2468 должно привести к array(2,4,6,8) .

Ответ №1:

Вы можете использовать str_split и intval :

 $number = 2468;

    $array  = array_map('intval', str_split($number));

var_dump($array);
  

Что даст следующий результат:

 array(4) {
  [0] => int(2)
  [1] => int(4)
  [2] => int(6)
  [3] => int(8)
}
  

ДЕМОНСТРАЦИЯ

Комментарии:

1. Я. Просто преобразуйте значение int в строку и разделите его.

2. str_split уже преобразуется в строку. Однако на выходе был получен не массив целых чисел,, так что на самом деле потребовалось некоторое преобразование.

Ответ №2:

используйте функцию str_split()

 $array = str_split($str);
  

http://php.net/manual/en/function.str-split.php

Ответ №3:

Вы можете обрезать последнюю цифру, взяв число по модулю 10.

Никому не говорите об этом!

 do 
{
    $array.add(num % 10);
    num = num / 10;
}
while (num != 0);
  

Комментарии:

1. Подождите, что …? Don't tell it to anyone ? Почему?

Ответ №4:

Пример #2 Разбиение строки на составляющие символы

 $str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
  

Комментарии:

1. str_split() из других ответов будет работать намного лучше (я предполагаю).