Mengindeks semula Elemen Subarray Tatasusunan Berbilang Dimensi
Dalam PHP, tatasusunan sering digunakan untuk menyimpan struktur data yang kompleks, termasuk tatasusunan berbilang dimensi. Kadangkala, ia menjadi perlu untuk menetapkan semula kunci subarray dalam tatasusunan berbilang dimensi.
Sebagai contoh, pertimbangkan tatasusunan berbilang dimensi berikut dengan kekunci bukan urutan:
Array ( [1_Name] => Array ( [1] => leo [4] => NULL ) [1_Phone] => Array ( [1] => 12345 [4] => 434324 ) )
Matlamatnya adalah untuk tetapkan semula kekunci subarray untuk bermula dari sifar:
Array ( [1_Name] => Array ( [0] => leo [1] => NULL ) [1_Phone] => Array ( [0] => 12345 [1] => 434324 ) )
Penyelesaian
Untuk menetapkan semula kekunci semua subarray dalam tatasusunan berbilang dimensi, anda boleh menggunakan array_map () berfungsi bersama-sama dengan fungsi array_values():
<code class="php">$arr = array_map('array_values', $arr);</code>
Fungsi array_values() mengembalikan tatasusunan baharu dengan kekunci angka berjujukan daripada tatasusunan input, menetapkan semula kekunci dengan berkesan. Fungsi array_map() menggunakan fungsi array_values() pada setiap subbarray dalam tatasusunan asal, menghasilkan tatasusunan multidimensi baharu dengan subbarray diindeks semula.
Nota:
Jika anda hanya mahu menetapkan semula kekunci subarray peringkat pertama tanpa menggunakan pengindeksan semula pada subarray bersarang, anda boleh menggunakan array_values() secara langsung tanpa menggunakan array_map():
<code class="php">$arr = array_values($arr);</code>
Atas ialah kandungan terperinci Bagaimana untuk mengindeks semula Elemen Subarray dalam Tatasusunan Multidimensi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!