#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);
Ответ №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() из других ответов будет работать намного лучше (я предполагаю).