2012-03-22 67 views
1

我需要將此數組的鍵更改爲0-5,爲什麼這不工作?重命名數組鍵

$arr = array(); 

while(count($arr) < 6){ 
    $arr[] = rand(1,53); 
    $arr = array_unique($arr); 
} 
asort($arr); 

$i = 0; 
foreach($arr as $key => $value){ 
    //echo $i; 
    $key = $i; 
    $i++; 
} 

print '<pre>'; 
print_r($arr); 

謝謝

回答

4

因爲的foreach創建於$鍵和$值陣列輸入鍵和值的副本。當你做$ key = $ i;你所做的只是更新副本,而不是原始數組。

改爲使用array_values($ arr),或者使用sort()而不是asort()

+0

謝謝你不知道sort() – AFerrara 2012-03-22 21:47:55