Verwenden Sie in PHP die Funktion uasort(), um ein Array nach benutzerdefinierten Sortierregeln zu sortieren und dabei die ursprünglichen Schlüsselnamen beizubehalten. Eine benutzerdefinierte Vergleichsfunktion ist eine Funktion, die zwei Elemente als Eingabe verwendet und eine ganze Zahl zurückgibt: Eine negative Zahl bedeutet, dass ersteres kleiner als letzteres ist, Null bedeutet, dass sie gleich sind, und eine positive Zahl bedeutet, dass ersteres größer als letzteres ist.
So sortieren Sie ein Array nach benutzerdefinierten Sortierregeln in PHP und behalten dabei die ursprünglichen Schlüsselnamen bei
In PHP ist das Sortieren von Arrays nach benutzerdefinierten Sortierregeln eine häufige Anforderung. Beispielsweise möchten Sie möglicherweise eine Produktliste nach Produktname, Preis oder anderen benutzerdefinierten Kriterien sortieren.
PHP bietet eine integrierte Funktion uasort()
, die es Ihnen ermöglicht, ein Array mithilfe einer benutzerdefinierten Vergleichsfunktion zu sortieren und dabei die ursprünglichen Schlüsselnamen beizubehalten. 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
– das zu sortierende Array
$value_compare_func
– benutzerdefinierte Vergleichsfunktion, gibt eine positive Zahl zurück , Negative Zahl oder Null Benutzerdefinierte Vergleichsfunktion
Eine benutzerdefinierte Vergleichsfunktion ist eine Funktion zum Vergleichen von Array-Elementen. Es nimmt zwei Parameter$a
und $b
als Eingabe und gibt eine Ganzzahl gemäß den folgenden Regeln zurück: $a</ code> Wenn code> kleiner als <code>$b
ist, wird eine negative Zahl zurückgegeben. $a
gleich $b
ist, wird Null zurückgegeben. $a
größer als $b
ist, wird eine positive Zahl zurückgegeben. 🎜Praktischer Fall🎜🎜🎜Hier ist ein Beispiel für eine benutzerdefinierte Vergleichsfunktion, die die Länge zweier Zeichenfolgen vergleicht: 🎜<?php $fruits = array("apple", "banana", "orange", "grapefruit"); uasort($fruits, "compare_string_length"); print_r($fruits);
Array ( [grapefruit] => grapefruit [orange] => orange [apple] => apple [banana] => banana )
Das obige ist der detaillierte Inhalt vonSortieren Sie Arrays nach benutzerdefinierten Sortierregeln in PHP und behalten Sie dabei die ursprünglichen Schlüsselnamen bei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!