Mengisih Tatasusunan Berbilang Dimensi mengikut Nilai Sub-tatasusunan dalam PHP
Dalam PHP, tatasusunan boleh berbilang dimensi, bermakna ia boleh mengandungi tatasusunan dalam tatasusunan . Kes penggunaan biasa ialah mengisih tatasusunan sedemikian berdasarkan kunci tertentu dalam subtatasusunan bersarang.
Isih mengikut Kunci Rentetan
Pertimbangkan tatasusunan berikut:
$array = [ [ 'configuration_id' => 10, 'id' => 1, 'optionNumber' => '3', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 9, 'id' => 1, 'optionNumber' => '2', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 8, 'id' => 1, 'optionNumber' => '1', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ] ];
Untuk mengisih tatasusunan ini dalam tertib menaik berdasarkan kekunci 'optionNumber', kita boleh menggunakan usort bersama-sama dengan fungsi tanpa nama:
usort($array, function ($a, $b) { return strcmp($a['optionNumber'], $b['optionNumber']); });
Fungsi ini membandingkan nilai 'optionNumber' setiap sub-tatasusunan dan mengembalikan 1 jika nilai pertama lebih besar, -1 jika lebih kecil atau 0 jika sama. Perbandingan ini adalah sensitif huruf besar dan kecil.
Isih mengikut Kunci Integer
Jika kekunci 'optionNumber' mengandungi integer, kita boleh menggunakan fungsi berikut:
usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
Perbandingan ini akan mengisih tatasusunan dalam berangka menaik pesanan.
Pertimbangan
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan PHP Multidimensi mengikut Nilai Sub-array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!