2011-07-18 41 views
2

如果我有數組並且取消設置下面的某個值。如何在刪除某些值時安排密鑰?

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

取消設置一些值

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

它保持3 key.Can予安排,而不使用sort()函數從0到3個關鍵,因爲我wannt不進行排序在陣列這樣鍵或項目。

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

謝謝

回答

1

重拍陣列

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

有許多方法可以做到這一點;我個人最喜歡的是使用array_merge()而沒有參數,這將重新索引數組。

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);

1

我經常使用:

$a = array_values($a); 

爲此。