Apabila mengisih tatasusunan mengikut pasangan nilai kunci dalam PHP, anda boleh menggunakan fungsi uasort() untuk menerima fungsi panggil balik untuk membandingkan nilai kunci dan mengekalkan nama kunci. Sebagai contoh, untuk mengisih rekod pekerja mengikut gaji mereka, anda boleh menggunakan fungsi uksort() untuk mengekstrak nilai gaji daripada setiap elemen sebagai perbandingan, dengan itu mengisih rekod daripada gaji rendah kepada tinggi.
Isih tatasusunan berdasarkan pasangan nilai kunci dalam PHP
Kadangkala, semasa mengisih tatasusunan dalam PHP, kita perlu mengisihnya berdasarkan pasangan nilai kunci tertentu sambil mengekalkan nama kunci . Artikel ini menerangkan cara mencapai matlamat ini.
<?php // 创建一个数组 $arr = [ 'a' => 1, 'b' => 3, 'c' => 2, 'd' => 4, ]; // 使用 uasort() 函数,接收一个回调函数 uksort($arr, function($a, $b) use ($arr) { return $arr[$a] <=> $arr[$b]; }); // 打印排序后的数组,保留键名 print_r($arr);
Kes Praktikal: Menyusun Rekod Pekerja mengikut Gaji Pekerja
Andaikan terdapat tatasusunan yang mengandungi rekod pekerja:
$employees = [ 'John Doe' => ['salary' => 50000], 'Jane Smith' => ['salary' => 40000], 'Peter Jones' => ['salary' => 60000], ];
Untuk mengisih rekod pekerja mengikut gaji, kami menggunakan fungsi tanpa nama tambahan untuk mengalih keluar setiap item daripada tatasusunan Ekstrak gaji daripada elemen:
// 按薪酬排序 uksort($employees, function($a, $b) use ($employees) { return $employees[$a]['salary'] <=> $employees[$b]['salary']; });
Kini, susunan $employees
akan disusun mengikut gaji pekerja dari rendah ke tinggi, sambil mengekalkan kunci nama pekerja.
Atas ialah kandungan terperinci Dalam PHP, bagaimana untuk mengisih tatasusunan dengan hanya pasangan nilai kunci tertentu tatasusunan, mengekalkan nama kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!