Mengisih Tatasusunan Berbilang Dimensi mengikut Medan Tatasusunan Dalam dalam PHP
Mengisih tatasusunan berbilang dimensi mengikut medan dalam tatasusunan dalam boleh menjadi tugas biasa apabila bekerja dengan data berstruktur dalam PHP. Ini boleh berguna untuk menyusun dan mendapatkan semula data dengan cekap.
Untuk mengisih tatasusunan berbilang dimensi mengikut salah satu medan tatasusunan dalam, anda boleh menggunakan fungsi array_multisort() bersama-sama dengan array_column(). Fungsi array_column() mengekstrak lajur nilai daripada tatasusunan dalam, mencipta tatasusunan satu dimensi yang kemudiannya boleh diisih.
Sintaks untuk mengisih tatasusunan berbilang dimensi mengikut medan "harga" tatasusunan dalam adalah seperti berikut:
array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);
Dalam contoh ini, $yourArray mewakili tatasusunan berbilang dimensi yang anda ingin menyusun. Pemalar SORT_ASC menentukan tertib menaik untuk pengisihan.
Berikut ialah pecahan terperinci kod:
Selepas melaksanakan kod ini, $yourArray akan diisih mengikut medan "harga" dalam tertib menaik. Kekunci tatasusunan luar tidak akan disimpan.
Nota: Dalam PHP 7 dan lebih tinggi, menggunakan sintaks ini boleh menyebabkan ralat yang berkaitan dengan menghantar pembolehubah melalui rujukan. Untuk mengelakkan perkara ini, anda boleh menggunakan pendekatan dua baris:
$col = array_column($yourArray, "price"); array_multisort($col, SORT_ASC, $yourArray);
Walau bagaimanapun, dalam PHP 8, sintaks satu baris berfungsi seperti yang diharapkan lagi.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Multidimensi mengikut Medan Tatasusunan Dalaman dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!