PHP 配列を操作する場合、ドット表記を使用して多次元配列をより管理しやすい 2D 形式に変換する必要がある場合があります。キー。このフラット化された構造により、複雑なデータへのアクセスと反復が容易になります。
次のような多次元配列を考えてみましょう。
<code class="php">$myArray = array( 'key1' => 'value1', 'key2' => array( 'subkey' => 'subkeyval' ), 'key3' => 'value3', 'key4' => array( 'subkey4' => array( 'subsubkey4' => 'subsubkeyval4', 'subsubkey5' => 'subsubkeyval5', ), 'subkey5' => 'subkeyval5' ) );</code>
この配列をドット表記キーを使用して 2D 形式に変換するには、次のようにします。再帰関数を利用できます。以下に例を示します。
<code class="php">$ritit = new RecursiveIteratorIterator(new RecursiveArrayIterator($myArray)); $result = array(); foreach ($ritit as $leafValue) { $keys = array(); foreach (range(0, $ritit->getDepth()) as $depth) { $keys[] = $ritit->getSubIterator($depth)->key(); } $result[ join('.', $keys) ] = $leafValue; }</code>
この関数の出力は、次のようにドットで区切られたキーを持つ 2D 配列になります。
<code class="php">Array ( [key1] => value1 [key2.subkey] => subkeyval [key3] => value3 [key4.subkey4.subsubkey4] => subsubkeyval4 [key4.subkey4.subsubkey5] => subsubkeyval5 [key4.subkey5] => subkeyval5 )</code>
この平坦化された配列は、より簡潔な表現を提供します。元のデータ構造により、特定の値への移動やアクセスが容易になります。
以上が多次元 PHP 配列をドット表記を使用した 2D 配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。