删除某些值时如何排列键?

时间:2011-07-18 15:32:41

标签: php arrays

如果我有数组并在下面取消设置某个值。

Array
(
    [0] => oo
    [1] => bb
    [2] => dd
    [3] => zz
    [4] => gg
)

取消设定值

Array
(
    [0] => oo
    [2] => dd
    [4] => gg
)

它仍然是3键。我可以在不使用sort()函数的情况下安排从0到3的键,因为我不想像这样对数组中的键或项进行排序。

Array
(
    [0] => oo
    [1] => dd
    [2] => gg
)

谢谢

4 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点;我个人最喜欢的是使用没有参数的array_merge(),这将重新索引数组。

答案 1 :(得分:1)

重制阵列

$newAr = array(); // your array
foreach($ar as $one){
   $newAr[] = $one;
}
print_r($newAr)

答案 2 :(得分:1)

我经常使用:

$a = array_values($a);

为此。

答案 3 :(得分:0)

来自官方php.net arrays页面:

The unset() function allows removing keys from an array. Be aware that the array 
will not be reindexed. If a true "remove and shift" behavior is desired, the 
array can be reindexed using the array_values() function.

所以使用:
$your_reindexed_array = array_values($your_original_array);