Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi mengikut Lajur Tertentu dalam PHP?
Mengisih Tatasusunan Berbilang Dimensi mengikut Lajur Tertentu dalam PHP
Untuk mengisih tatasusunan berbilang dimensi dalam PHP mengikut lajur tertentu, gunakan binaan- dalam fungsi PHP usort atau uasort. Kunci pengisihan ialah menyediakan fungsi perbandingan tersuai yang menentukan susunan elemen tatasusunan.
Fungsi Perbandingan Tersuai untuk Isih
Fungsi perbandingan tersuai mengambil dua elemen daripada tatasusunan sebagai input dan mengembalikan integer:
Isih mengikut Lajur Tunggal
Katakan anda mempunyai tatasusunan berbilang dimensi yang dipanggil $data di mana setiap elemen mewakili rekod dengan berbilang lajur. Untuk mengisih tatasusunan mengikut lajur 'name', gunakan kod berikut:
usort($data, function($a, $b) { return strcmp($a['name'], $b['name']); });
Fungsi perbandingan tersuai ini menggunakan fungsi strcmp untuk membandingkan nilai lajur 'name' untuk setiap elemen. Tatasusunan yang diisih akan mempunyai elemen yang disusun mengikut abjad berdasarkan lajur 'name'.
Isih mengikut Berbilang Lajur
Untuk mengisih mengikut berbilang lajur , hantar parameter tambahan kepada fungsi perbandingan tersuai. Contohnya, untuk mengisih mengikut 'nombor' dan kemudian 'nama':
usort($data, function($a, $b) { if ($a['number'] == $b['number']) { return strcmp($a['name'], $b['name']); } return $a['number'] - $b['number']; });
Ciri Terperinci
Anda juga boleh menentukan ciri lanjutan berikut:
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi mengikut Lajur Tertentu dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!