7

次のような配列があります。

[867324]  
    [id] => 867324  
    [name] => Example1  

[345786]    
    [id] => 345786
    [name] => Example2

[268531]  
    [id] => 268531
    [name] => Example3 

ご覧のとおり、最初の要素は特定の順序ではありません。この例では、それらを乱数と見なすことができます。私が最終的にやりたい最終結果は次のとおりです。

[0]  
    [id] => 867324  
    [name] => Example1  

[1]    
    [id] => 345786
    [name] => Example2

[2]  
    [id] => 268531
    [name] => Example3  

爆発させてみましたが、明らかに何か間違ったことをしているに違いありません。どんな助けでも大歓迎です!

4

3 に答える 3

30

これにより、要素の順序を維持しながらキーの番号が付け直されます。

$new_array = array_values($old_array);
于 2012-05-05T17:40:30.610 に答える
8

array_values()を使用して配列キーをリセットできます。

$array = array_values($array);

このメソッドを使用すると、次のような配列になります。

Array('123'=>'123',
      '456'=>'456',
      '789'=>'789')

次のように番号が付け直されます。

Array('0'=>'123',
      '1'=>'456',
      '2'=>'789')
于 2012-05-05T17:40:43.790 に答える
2

要素の順序が重要でない場合、PHP のソート メソッドはインデックスを維持しないと思います。http://www.php.net/manual/en/function.sort.php

sort($array);

注: この関数は、配列内の要素に新しいキーを割り当てます。キーを並べ替えるだけでなく、割り当てられている可能性のある既存のキーを削除します。

更新: これは機能しますが、前述の array_values メソッドの方がはるかに理にかなっています。

于 2012-05-05T17:39:15.547 に答える