在 PHP 中,如何更正数组中缺少的键?

2022-08-31 00:17:53

使用array_unique后,将删除没有重复值的数组。但是,似乎键也被删除了,这在具有数字索引的数组中留下了空白(尽管对于关联数组来说很好)。如果我使用for循环进行迭代,我必须考虑缺少的索引,只需将键复制到新数组中,但这似乎很笨拙。


答案 1

$foo = array_values($foo);将为您重新编号数组


答案 2

与其使用 for 循环,不如听起来应该使用 foreach 循环。显然,您无论如何都不关心索引,因为您正在对它们重新编号。

此循环:

for ($i = 0; $i < $loopSize; $i++)
{
process($myArray[$i]);
}

变成

foreach($myArray as $key=> $value)
{
    process($value);
    /** or process($myArray[$key]); */
}

or even more simply


foreach($myArray as $value)
{
    process($value);
}