多次元配列のサブ配列要素のインデックスの再作成
PHP では、多次元配列を含む複雑なデータ構造を格納するために配列がよく使用されます。場合によっては、多次元配列内のサブ配列のキーをリセットすることが必要になることがあります。
たとえば、非シーケンシャル キーを持つ次の多次元配列について考えてみましょう。
Array ( [1_Name] => Array ( [1] => leo [4] => NULL ) [1_Phone] => Array ( [1] => 12345 [4] => 434324 ) )
目的は、次のとおりです。部分配列のキーをリセットしてゼロから開始します:
Array ( [1_Name] => Array ( [0] => leo [1] => NULL ) [1_Phone] => Array ( [0] => 12345 [1] => 434324 ) )
Solution
多次元配列内のすべての部分配列のキーをリセットするには、array_map を使用できます。 () 関数と array_values() 関数の併用:
<code class="php">$arr = array_map('array_values', $arr);</code>
array_values() 関数は、入力配列から連続した数値キーを含む新しい配列を返し、キーを効果的にリセットします。 array_map() 関数は、array_values() 関数を元の配列の各部分配列に適用し、再インデックスされた部分配列を持つ新しい多次元配列を生成します。
注:
入れ子になった部分配列に再インデックスを適用せずに、第 1 レベルの部分配列のキーのみをリセットしたい場合は、array_map():
<code class="php">$arr = array_values($arr);</code>
以上がPHP で多次元配列のサブ配列要素のインデックスを再作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。