2011-07-01 171 views
4

我有一個陣列重新安排PHP數組

Array ([1] => Vice President [3] => Secretary [5] => Treasurer) 

我想使它變爲

Array ([0] => Vice President [1] => Secretary [2] => Treasurer) 

我已經嘗試我們PHP的for循環功能

$ub_new_arr_sort = array(); 
for($i3 = 0; $i3 < count($ub_new_arr); $i3++){ 
$ub_new_arr_sort[] = $ub_new_arr[$i3]; 
} 

但看起來像根本不工作,任何想法?

感謝您的提前。

+0

爲了記錄在案,因爲你遍歷虛構索引「你」的方式沒有工作'0..2 '。但是,該數組使用索引「1」,「3」和「5」。雖然@Francois Deschenes的答案更加優雅,IMO可以[foreach]構建[工作](http://www.ideone.com/IzTkT)。 – jensgram

回答

12

只需使用array_values

$array = array_values($array); 
+0

謝謝,它工作熟練... – wyman

+0

如果您發現這是最好的解決方案,一定要將其標記爲答案! –

+0

是的,我做到了。 Francois – wyman

1

使用的foreach而不是爲要「鍵獨立的」:

foreach($oldarray as $position){ 
    $newArray[] = $position; 
} 
print_r($newArray); 
+1

@wyman爲了讓你明白代碼中出了什麼問題:你的'for'從0循環到'count()',所以這些值是'0,1,2',而鍵實際上是'1,3 ,5'。實際上,當PHP試圖讀取不存在的鍵0和2時,PHP會生成E_NOTICE。在開發機器上始終將'error_reporting = E_ALL | E_STRICT'保存在php.ini中,這樣可以防止出現明顯的錯誤。 – Slava