Menyesuaikan Isih Tatasusunan Menggunakan Tatasusunan Rujukan
Dalam PHP, tatasusunan boleh diisih dalam pelbagai cara, tetapi boleh mencabar untuk mengisihnya dalam susunan tertentu berdasarkan tatasusunan yang berbeza. Artikel ini menyediakan penyelesaian kepada isu ini, menerangkan cara mengisih tatasusunan bersekutu rata berdasarkan susunan kunci yang dipratentukan.
Penyelesaian yang dicadangkan memanfaatkan fungsi array_merge atau array_replace. Fungsi ini mengambil dua tatasusunan sebagai hujah: yang pertama menentukan tertib yang diingini (dalam bentuk pasangan nilai kunci), dan yang kedua mengandungi data sebenar untuk diisih.
Begini cara fungsi ini berfungsi:
array_merge: Ia menggabungkan dua tatasusunan dengan bermula dengan tatasusunan dan menulis ganti atau menambah kunci dengan data daripada tatasusunan sebenar.
array_replace: Ia melakukan perkara yang sama seperti array_merge tetapi hanya menimpa kekunci sedia ada.
Pertimbangkan contoh berikut:
$customer['address'] = '123 fake st'; $customer['name'] = 'Tim'; $customer['dob'] = '12/08/1986'; $customer['dontSortMe'] = 'this value doesnt need to be sorted'; $properOrderedArray = array_merge(array_flip(array('name', 'dob', 'address')), $customer);
Dalam contoh ini, array_flip mencipta tatasusunan dengan elemen ('nama', 'dob', 'alamat') menjadi kunci dan kunci menjadi nilai. Ini bertindak sebagai tatasusunan pesanan. Dengan menggabungkan tatasusunan pesanan ini dengan $customer, $properOrderedArray dijana dengan susunan kunci yang diingini sambil mengekalkan data sebenar.
$properOrderedArray yang terhasil ialah:
array( 'name' => 'Tim', 'dob' => '12/08/1986', 'address' => '123 fake st', 'dontSortMe' => 'this value doesnt need to be sorted')
Pendekatan ini membolehkan untuk pengisihan fleksibel tatasusunan bersekutu rata berdasarkan mana-mana tatasusunan yang dipratentukan, memastikan susunan yang betul kunci dan nilai sepadannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengisih Tatasusunan PHP Berdasarkan Susunan Kunci Dipratentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!