在php中如何在过滤后重置数组顺序
我有一个$p数组,它有在php中如何在过滤后重置数组顺序,php,arrays,array-filter,Php,Arrays,Array Filter,我有一个$p数组,它有'值。我使用array\u filter()函数删除了它们。但我还想重新排序/重置索引 $p数组内容 $p2 = array_filter($p); var_dump($p2); 0 => string '' (length=0) 1 => string '' (length=0) 2 => string '' (length=0) 3 => string '' (length=0) 4 => string '' (len
'
值。我使用array\u filter()
函数删除了它们。但我还想重新排序/重置索引
$p
数组内容
$p2 = array_filter($p);
var_dump($p2);
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
数组内容
$p2 = array_filter($p);
var_dump($p2);
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 = array_values($p2);
这将保留相同的数组名称和筛选器,并立即重新为数组编制索引