Dalam PHP, gunakan fungsi uasort() untuk mengisih tatasusunan mengikut peraturan pengisihan tersuai sambil mengekalkan nama kunci asal. Fungsi perbandingan tersuai ialah fungsi yang mengambil dua elemen sebagai input dan mengembalikan integer: nombor negatif bermakna yang pertama adalah kurang daripada yang kedua, sifar bermakna ia adalah sama dan nombor positif bermakna yang pertama lebih besar daripada yang kedua.
Cara mengisih tatasusunan mengikut peraturan pengisihan tersuai dalam PHP, mengekalkan nama kunci asal
Dalam PHP, mengisih tatasusunan mengikut peraturan pengisihan tersuai adalah keperluan biasa. Contohnya, anda mungkin mahu mengisih senarai produk mengikut nama produk, harga atau kriteria tersuai yang lain.
PHP menyediakan fungsi terbina dalam uasort()
yang membolehkan anda mengisih tatasusunan menggunakan fungsi perbandingan tersuai sambil mengekalkan nama kunci asal. uasort()
,它允许您使用自定义比较函数对数组进行排序,同时保留原始键名。
语法
uasort ( array &$array , callable $value_compare_func ) : bool
$array
- 要排序的数组$value_compare_func
- 自定义比较函数,返回正数、负数或零自定义比较函数
自定义比较函数是用于比较数组元素的函数。它将两个参数 $a
和 $b
作为输入,并根据以下规则返回一个整数:
$a
小于 $b
,则返回负数。$a
等于 $b
,则返回零。$a
大于 $b
<?php
function compare_string_length($a, $b) {
return strlen($a) - strlen($b);
}
$array
- tatasusunan untuk diisih
$value_compare_func
- fungsi perbandingan tersuai, mengembalikan nombor positif , Nombor negatif atau sifar Fungsi perbandingan tersuai
Fungsi perbandingan tersuai ialah fungsi yang digunakan untuk membandingkan elemen tatasusunan. Ia memerlukan dua parameter$a
dan $b
sebagai input dan mengembalikan integer mengikut peraturan berikut: $a</ kod> Jika kod> kurang daripada <code>$b
, nombor negatif dikembalikan. $a
sama dengan $b
, kembalikan sifar. $a
lebih besar daripada $b
, kembalikan nombor positif. 🎜Kes Praktikal🎜🎜🎜Berikut ialah contoh fungsi perbandingan tersuai yang membandingkan panjang dua rentetan: 🎜<?php $fruits = array("apple", "banana", "orange", "grapefruit"); uasort($fruits, "compare_string_length"); print_r($fruits);
Array ( [grapefruit] => grapefruit [orange] => orange [apple] => apple [banana] => banana )
Atas ialah kandungan terperinci Isih tatasusunan mengikut peraturan pengisihan tersuai dalam PHP, mengekalkan nama kunci asal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!