$p2 = array_filter($p);
var_dump($p2);
У меня есть $ р массив, который имеет ''
значения. Я удалил их с помощью функции array_filter()
. Но я также хочу переупорядочить/сбросить индексы.
Содержимое массива $p
0 => string '' (length=0)
1 => string '' (length=0)
2 => string '' (length=0)
3 => string '' (length=0)
4 => string '' (length=0)
5 => string '' (length=0)
6 => string '' (length=0)
7 => string '' (length=0)
8 => string '123' (length=3)
9 => string '20130' (length=5)
10 => string '' (length=0)
После фильтрации новый массив выглядит следующим образом:
Содержимое массива $p2
8 => string '123' (length=3)
9 => string '20130' (length=5)
Я хочу $p2
0 => string '123' (length=3)
1 => string '20130' (length=5)
Перенос элементов в новый массив будет решением. Я поеду туда, если не будет более быстрого метода.
Вам нужно использовать array_values ():
$p2 = array_values($p2);
или в вашем случае вы могли бы сделать оба напрямую:
$p = array_values(array_filter($p));
который будет хранить одно и то же имя массива и фильтр. И повторно проиндексировать массив сразу