Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menyusun tatasusunan berbilang dimensi dalam PHP sambil mengekalkan nama kunci?

Bagaimana untuk menyusun tatasusunan berbilang dimensi dalam PHP sambil mengekalkan nama kunci?

WBOY
Lepaskan: 2024-05-03 21:51:01
asal
705 orang telah melayarinya

Isih tatasusunan berbilang dimensi sambil mengekalkan nama kunci: 1. Gunakan uksort() untuk mengisih mengikut nilai kunci, dan sediakan fungsi perbandingan yang mengembalikan 1, -1 atau 0 untuk menunjukkan susunan relatif nilai kunci. 2. Gunakan krsort() untuk mengisih nilai utama dari tinggi ke rendah, menerima parameter tatasusunan.

如何在 PHP 中对多维数组进行排序,同时保留键名?

Cara mengisih tatasusunan berbilang dimensi dalam PHP sambil mengekalkan nama kunci

Kadangkala, anda mungkin perlu mengisih tatasusunan berbilang dimensi sambil mengekalkan nama utamanya. Untuk tujuan ini, PHP menyediakan fungsi uksort() dan krsort(). Fungsi uksort()krsort() 函数。

uksort

uksort() 函数根据数组键的值对数组进行排序。它接受两个参数:一个包含要排序的数组和一个比较函数。比较函数应返回以下值之一:

  • 1,如果数组的第一个元素应在第二个元素之前
  • -1,如果数组的第一个元素应在第二个元素之后
  • 0,如果数组的第一个元素等于第二个元素
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

uksort($cars, function($a, $b) {
    return strcmp($a, $b);
});

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>
Salin selepas log masuk

输出:

BMW: Germany
Honda: Japan
Mercedes: Germany
Toyota: Japan
Salin selepas log masuk

krsort

krsort()

uksort

🎜🎜uksort() mengisih tatasusunan berdasarkan nilai kunci tatasusunan. Ia menerima dua parameter: tatasusunan yang mengandungi tatasusunan untuk diisih dan fungsi perbandingan. Fungsi perbandingan harus mengembalikan salah satu nilai berikut: 🎜
  • 1, jika elemen pertama tatasusunan harus datang sebelum elemen kedua
  • -1, jika elemen pertama tatasusunan sepatutnya selepas elemen kedua
  • 0 jika elemen pertama tatasusunan adalah sama dengan elemen kedua
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

krsort($cars);

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>
Salin selepas log masuk
🎜Output: 🎜
Toyota: Japan
Honda: Japan
Mercedes: Germany
BMW: Germany
Salin selepas log masuk
🎜🎜krsort🎜🎜🎜 fungsi krsort() mengisih tatasusunan dan mengisih nilai utama dari tinggi ke rendah. Ia menerima satu parameter, tatasusunan untuk diisih. 🎜rrreee🎜Output: 🎜rrreee

Atas ialah kandungan terperinci Bagaimana untuk menyusun tatasusunan berbilang dimensi dalam PHP sambil mengekalkan nama kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan