Apabila bekerja dengan tatasusunan PHP, anda mungkin perlu menukar tatasusunan berbilang dimensi kepada format 2D yang lebih terurus menggunakan tatatanda titik kunci. Struktur yang diratakan ini membolehkan akses dan lelaran yang lebih mudah melalui data yang kompleks.
Pertimbangkan tatasusunan berbilang dimensi seperti berikut:
<code class="php">$myArray = array( 'key1' => 'value1', 'key2' => array( 'subkey' => 'subkeyval' ), 'key3' => 'value3', 'key4' => array( 'subkey4' => array( 'subsubkey4' => 'subsubkeyval4', 'subsubkey5' => 'subsubkeyval5', ), 'subkey5' => 'subkeyval5' ) );</code>
Untuk menukar tatasusunan ini kepada format 2D dengan kekunci tatatanda titik, anda boleh menggunakan fungsi rekursif. Berikut ialah contoh:
<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>
Output fungsi ini akan menjadi tatasusunan 2D dengan kekunci dipisahkan titik, seperti berikut:
<code class="php">Array ( [key1] => value1 [key2.subkey] => subkeyval [key3] => value3 [key4.subkey4.subsubkey4] => subsubkeyval4 [key4.subkey4.subsubkey5] => subsubkeyval5 [key4.subkey5] => subkeyval5 )</code>
Susun atur leper ini menyediakan perwakilan yang lebih ringkas bagi struktur data asal, menjadikannya lebih mudah untuk menavigasi dan mengakses nilai tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Tatasusunan PHP Berbilang Dimensi kepada Tatasusunan 2D dengan Notasi Titik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!