2013-02-18 56 views
1

如何重新安排:如何重新索引數組?

Array (
    [0] => tomato 
    [2] => apple 
    [3] => melon 
    [4] => Cherry 
    [7] => banana 
) 

要:

Array (
    [0] => tomato 
    [1] => apple 
    [2] => melon 
    [3] => Cherry 
    [4] => banana 
) 

+0

'排序()'會重新索引你的陣列,也重新排序/排序,這意味着蘋果= 0,香蕉= 1等 – sascha 2013-02-18 13:43:14

+0

從另一個答案:array_splice($陣列, 0,0); – 2016-01-22 15:17:39

回答

9

只是array_values嘗試:

$newArray = array_values($oldArray); 
+0

會'$ oldArray = array_values($ oldArray);'工作? – Floris 2013-02-18 13:45:53

+0

@弗洛里斯是的,它會。 – 2013-02-18 13:46:24

+0

是的,它會的。我用'$ newArray'命名了結果來顯示它的工作原理。 – hsz 2013-02-18 13:46:32

3

這個怎麼樣?

$new_array = array(); 
foreach($original_array as $val) { 
$new_array[] = $val; 
} 

$new_array將具有正確的索引。

+1

如果您將其複製回原始數組,您將全部設置! – Floris 2013-02-18 13:43:35

0
$arr2 = array(); 
foreach($arr1 as $a) { 
    $arr2[] = $a; 
} 

將這些值放入一個新的新鮮數組中?

0

試試這個:

$a = array(0 => 'tomato', 2 => 'apple', 3 => 'melon', 4 => 'Cherry', 7 => 'banana'); 
print_r($a); 
$a = array_values($a); 
print_r($a); 
-1

只是不重新索引打擾。
使用foreach迭代它