php reset array index after unset

在PHP中,如果您使用 unset() 函数从数组中删除一个元素,则该元素所在的索引位置将保留,并且不会自动重新索引。因此,如果您希望删除一个元素后重新索引数组,您可以使用 array_values() 函数来重新索引数组。

例如,假设您有以下数组:

$myArray = array('apple', 'banana', 'orange', 'grape');

如果您使用 unset() 函数删除第二个元素 'banana',则数组将变为:

unset($myArray[1]);
print_r($myArray);

输出结果如下:

Array
    [0] => apple
    [2] => orange
    [3] => grape

请注意,第二个元素已经被删除,但数组的索引并没有重新排序。为了重新索引数组,您可以使用 array_values() 函数,如下所示:

$myArray = array_values($myArray);
print_r($myArray);

输出结果如下:

Array
    [0] => apple
    [1] => orange
    [2] => grape

现在,数组已被重新索引,删除的元素 'banana' 已被移除并且其他元素的索引已经重新排序。

总结:如果您想要在使用 unset() 函数删除数组元素后重新索引数组,请使用 array_values() 函数。

  •