Mengindeks semula Elemen Subarray dalam Tatasusunan Berbilang Dimensi
Menetapkan semula kunci subarray dalam tatasusunan berbilang dimensi boleh menjadi tugas biasa dalam PHP. Artikel ini membincangkan persoalan bagaimana untuk mencapai matlamat ini.
Masalah:
Pertimbangkan tatasusunan berikut:
<code class="php">Array ( [1_Name] => Array ( [1] => leo [4] => NULL ) [1_Phone] => Array ( [1] => 12345 [4] => 434324 ) )</code>
Tugasnya ialah untuk indeks semula subarrays sebagai berikut:
<code class="php">Array ( [1_Name] => Array ( [0] => leo [1] => NULL ) [1_Phone] => Array ( [0] => 12345 [1] => 434324 ) )</code>
Penyelesaian:
Untuk menetapkan semula kunci semua tatasusunan dalam tatasusunan, anda boleh menggunakan kod berikut:
<code class="php">$arr = array_map('array_values', $arr);</code>
Jika anda hanya mahu menetapkan semula kekunci tatasusunan peringkat pertama, anda boleh menggunakan array_values() tanpa array_map:
<code class="php">$arr = array_values($arr);</code>
Penjelasan:
Fungsi array_map() menggunakan fungsi yang ditentukan pengguna untuk setiap elemen tatasusunan. Dalam kes ini, fungsi yang ditakrifkan pengguna ialah array_values, yang mengembalikan tatasusunan dengan nilai tatasusunan input. Dengan menggunakan array_values pada setiap subarray bagi tatasusunan asal, kami menetapkan semula kunci subarray tersebut dengan berkesan.
Fungsi array_values() mengembalikan tatasusunan baharu yang mengandungi nilai tatasusunan input. Apabila digunakan pada tatasusunan berbilang dimensi, ia mengembalikan tatasusunan tatasusunan, di mana setiap subarray mengandungi nilai subarray yang sepadan daripada tatasusunan input. Dengan memperuntukkan hasil array_values() kepada pembolehubah tatasusunan asal, kami menetapkan semula kunci subarray secara berkesan dalam tatasusunan asal.
Atas ialah kandungan terperinci Bagaimana untuk mengindeks semula Elemen Subarray dalam Tatasusunan PHP Multidimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!