多次元配列内のサブ配列要素のインデックスの再作成
多次元配列内のサブ配列のキーのリセットは、PHP の一般的なタスクです。この記事では、この目標を達成する方法について説明します。
問題:
次の配列について考えてみましょう:
<code class="php">Array ( [1_Name] => Array ( [1] => leo [4] => NULL ) [1_Phone] => Array ( [1] => 12345 [4] => 434324 ) )</code>
タスクは次のとおりです。次のようにサブ配列のインデックスを再作成します:
<code class="php">Array ( [1_Name] => Array ( [0] => leo [1] => NULL ) [1_Phone] => Array ( [0] => 12345 [1] => 434324 ) )</code>
解決策:
配列内のすべての配列のキーをリセットするには、次のコードを使用できます:
<code class="php">$arr = array_map('array_values', $arr);</code>
第 1 レベルの配列キーのみをリセットしたい場合は、array_map なしで array_values() を使用できます:
<code class="php">$arr = array_values($arr);</code>
説明:
array_map() 関数は、ユーザー定義関数を配列の各要素に適用します。この場合、ユーザー定義関数は array_values で、入力配列の値を含む配列を返します。元の配列の各部分配列に array_values を適用すると、それらの部分配列のキーが効果的にリセットされます。
array_values() 関数は、入力配列の値を含む新しい配列を返します。多次元配列で使用すると、配列の配列が返されます。各部分配列には、入力配列の対応する部分配列の値が含まれます。 array_values() の結果を元の配列変数に代入することで、元の配列内の部分配列のキーを効果的にリセットします。
以上が多次元 PHP 配列内のサブ配列要素のインデックスを再作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。