2011-09-26 35 views
95

我有數組,我有那麼現在它看起來像PHP reindex數組?

$myarray [0] a->1 
     [1] a-7 b->3 
     [3] a-8 b->6 
     [4] a-3 b->2 

,你可以看到[2]丟失了所有我需要做的取消設置一些指標是重置索引,使他們表現出[0] - [3 ]。

+0

這絕對不是一個重複[**你如何重新索引PHP中的數組?**](http://stackoverflow.com/questions/591094/how-do-you-reindex -a-array-in-php)共享解決方案不會造成重複。 –

回答

212

使用array_values

$myarray = array_values($myarray); 
+1

我喜歡它。有什麼PHP不能做?! (不要回答) – pbarney

10

array_values這項工作:

$myArray = array_values($myArray); 

也有一些其他的PHP函數不保留鍵,即重置索引。

2

與使用array_values()相比,這可能不是最簡單的答案。

試試這個

$array = array(0 => 'string1', 2 => 'string2', 4 => 'string3', 5 => 'string4'); 
$arrays =$array; 
print_r($array); 
$array=array(); 
$i=0; 
    foreach($arrays as $k => $item) 
    { 
    $array[$i]=$item; 
     unset($arrays[$k]); 
     $i++; 

    } 

print_r($array); 

Demo