多次元配列のサブ配列要素のインデックスの再作成
多次元配列では、キー インデックスのリセットは、予測可能な順序を維持したり値を整列させるのに役立ちます。
問題:
多次元配列内の部分配列のキーをリセットし、ゼロから順番に番号を付け直すにはどうすればよいでしょうか?次の例を考えてみましょう:
<code class="php">$arr = [ '1_Name' => [ 1 => 'leo', 4 => null ], '1_Phone' => [ 1 => 12345, 4 => 434324 ] ]; // Expected output: // Array ( // [1_Name] => [ // 0 => 'leo', // 1 => null // ] // [1_Phone] => [ // 0 => 12345, // 1 => 434324 // ] // )</code>
解決策:
これを実現するには、次のアプローチを使用できます:
<code class="php">$arr = array_map('array_values', $arr);</code>
array_map () 関数は、array_values() 関数を $arr 内の各サブ配列に適用します。 array_values() は、サブ配列のキーをゼロから順番に再インデックスします。
<code class="php">// array_values() for first-level arrays only $arr = array_values($arr);</code>
第 1 レベルの配列キーのリセットには、array_map() を使用せずに array_values() を使用できます。
以上が多次元配列のサブ配列要素のインデックスを再作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。