Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengisih Tatasusunan PHP bagi Subarray mengikut Nilai Subarray Tertentu?
Mengisih Tatasusunan PHP mengikut Nilai Subarray: Panduan Langkah demi Langkah
Untuk menyusun struktur tatasusunan berdasarkan nilai subarray tertentu, pendekatan yang paling cekap ialah menggunakan fungsi usort PHP. Kaedah ini menggunakan fungsi pengisihan yang ditakrifkan pengguna untuk menyusun elemen dalam susunan tersuai.
Dalam contoh yang diberikan, tugasnya adalah untuk mengisih tatasusunan subarray berdasarkan medan "optionNumber" dalam susunan tambahan. Untuk mencapai ini, ikuti langkah berikut:
Tentukan Fungsi Perbandingan Tersuai:
Buat fungsi yang membandingkan dua subarray berdasarkan medan yang dikehendaki. Dalam kes ini, ia akan membandingkan nilai "optionNumber". Untuk versi PHP sebelum 5.3, gunakan fungsi bernama seperti ini:
function cmp_by_optionNumber($a, $b) { return $a["optionNumber"] - $b["optionNumber"]; }
Untuk PHP 5.3 dan ke atas, fungsi tanpa nama boleh digunakan sebaliknya:
usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
Gunakan Fungsi usort:
Panggil fungsi usort pada tatasusunan input, lulus perbandingan berfungsi sebagai parameter. Ini akan mengisih tatasusunan dalam susunan yang dikehendaki.
usort($array, "cmp_by_optionNumber");
Kaedah Alternatif untuk Perbandingan Rentetan:
Jika nilai "optionNumber" adalah rentetan dan bukannya integer, ubah suai fungsi perbandingan untuk menggunakan perbandingan rentetan dan bukannya penolakan.
function cmp_by_optionNumber($a, $b) { return strcmp($a["optionNumber"], $b["optionNumber"]); }
PHP 7.0 dan Ke Atas:
Dalam PHP 7.0 dan lebih baru, pengendali kapal angkasa (<=>) boleh digunakan bukannya penolakan untuk perbandingan yang lebih tepat dan untuk mengelakkan limpahan angka isu.
usort($array, function ($a, $b) { return $a['optionNumber'] <=> $b['optionNumber']; });
Dengan mengikut langkah-langkah ini, anda boleh mengisih tatasusunan subarray dengan berkesan berdasarkan nilai tertentu, memastikan unsur-unsur disusun mengikut susunan tambahan yang dikehendaki.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengisih Tatasusunan PHP bagi Subarray mengikut Nilai Subarray Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!