Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengisih tatasusunan berdasarkan pasangan nilai kunci tertentu menggunakan PHP, mengekalkan nama kunci asal?

Bagaimana untuk mengisih tatasusunan berdasarkan pasangan nilai kunci tertentu menggunakan PHP, mengekalkan nama kunci asal?

PHPz
PHPzasal
2024-04-30 16:30:02543semak imbas

Gunakan fungsi PHP uasort dan sediakan fungsi perbandingan untuk mengisih tatasusunan mengikut nilai kunci tertentu dalam tatasusunan sambil mengekalkan nama kunci asal. Langkah-langkah khusus adalah seperti berikut: tentukan fungsi perbandingan yang menerima dua pasangan nilai kunci sebagai parameter dan mengembalikan integer, memanggil fungsi uasort, menghantar dalam tatasusunan untuk diisih dan fungsi perbandingan akan mengekalkan kunci asal; nama.

如何使用 PHP 根据数组中某个具体键值对进行排序,保留原始键名?

Bagaimana cara menggunakan PHP untuk mengisih mengikut pasangan nilai kunci tertentu dalam tatasusunan sambil mengekalkan nama kunci asal?

Dalam PHP, gunakan fungsi uasort untuk mengisih mengikut pasangan nilai kunci tertentu dalam tatasusunan sambil mengekalkan nama kunci asal. Berikut ialah sintaksnya: uasort 函数可以根据数组中某个具体键值对进行排序,同时保留原始键名。下面是它的语法:

uasort(array $array, callable $value_compare_func)

其中:

  • array 要排序的数组
  • value_compare_func 一个比较函数,它将被用来比较数组中的两个键值对

比较函数应该接受两个参数(数组中两个元素的键值对)并返回一个整数:

  • -1 如果第一个键值对应该排在第二个键值对之前
  • 0 如果两个键值对相等
  • 1 如果第一个键值对应该排在第二个键值对之后

实战案例

假设我们有一个名为 $data

$data = [
    'John Doe' => 85,
    'Jane Smith' => 90,
    'Bob Jones' => 75
];

di mana:

  • array Tatasusunan yang akan diisih
  • value_compare_func Fungsi perbandingan yang Akan digunakan untuk membandingkan dua pasangan nilai kunci dalam tatasusunan
Fungsi perbandingan harus menerima dua parameter (pasangan nilai kunci bagi dua elemen dalam tatasusunan) dan mengembalikan integer:

    -1🎜 Jika pasangan nilai kunci pertama harus diisih sebelum pasangan nilai kunci kedua
  • 🎜0🎜 Jika dua pasangan nilai kunci adalah sama
  • 🎜1🎜 Jika pasangan nilai kunci pertama harus diisih selepas pasangan nilai kunci kedua
🎜🎜Kes praktikal🎜🎜🎜 Katakan kita mempunyai tatasusunan bernama $data, Ia mengandungi maklumat pelajar dan gred mereka: 🎜
uasort($data, function($a, $b) {
    return $a - $b;
});
🎜 Kita boleh menggunakan kod berikut untuk mengisih tatasusunan berdasarkan gred sambil mengekalkan nama kunci asal: 🎜
print_r($data);
// 输出:
// Array
// (
//     [Jane Smith] => 90
//     [John Doe] => 85
//     [Bob Jones] => 75
// )
🎜 Tatasusunan yang diisih akan kelihatan seperti ini: 🎜rrreee

Atas ialah kandungan terperinci Bagaimana untuk mengisih tatasusunan berdasarkan pasangan nilai kunci tertentu menggunakan PHP, mengekalkan nama kunci asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn