Heim > Artikel > Backend-Entwicklung > Einführung in die Verwendung der Funktion usort() in der PHP-Funktionsbibliothek
PHP ist eine weit verbreitete Programmiersprache mit vielen häufig verwendeten Funktionen, die Entwickler nutzen können. usort() ist einer davon. Die Hauptfunktion von usort() besteht darin, das Array gemäß der angegebenen Vergleichsfunktion zu sortieren. Die Syntax der Funktion
usort() lautet wie folgt:
usort(array $array, callable $cmp_function): bool
Im obigen Code stellt $array
das zu sortierende Array dar und $cmp_function
ist ein aufrufbare Vergleichsfunktion. Der Rückgabewert ist ein boolescher Typ und gibt an, ob die Sortierung erfolgreich war. $array
表示要排序的数组,$cmp_function
是一个可调用的比较函数。返回值是布尔类型,表示排序是否成功。
下面就对 usort() 函数进行详细介绍。
usort() 函数中传入的比较函数必须是可调用的,也就是说可以被调用执行的函数。比较函数一般在调用 usort() 时定义,通过一个匿名函数或是指定函数名称的方式来定义。比如,你可以这样来定义一个比较函数:
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; }
在这个比较函数中,$a
和 $b
分别代表 usort() 函数传入的要比较的两个参数。根据自己的需求,你可以自定义比较函数的实现方法。比较函数返回值可以是 0、-1 或 1。若返回 0,则代表两个参数相等;若返回 -1,则代表 $a
比 $b
小;若返回 1,则代表 $a
比 $b
大。
接下来,我们来看一下如何使用 usort() 函数来对数组进行排序。假设我们有一个数组,其中包含如下元素:
$array = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3];
如果我们想对这个数组进行排序,可以使用 usort() 函数:
usort($array, "cmp");
这里的 "cmp"
[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]In dieser Vergleichsfunktion stellen
$a
und $b
jeweils die vom usort übergebenen Werte dar () Funktion, die zwei Parameter vergleichen soll. Sie können die Implementierungsmethode der Vergleichsfunktion entsprechend Ihren Anforderungen anpassen. Der Rückgabewert der Vergleichsfunktion kann 0, -1 oder 1 sein. Wenn 0 zurückgegeben wird, bedeutet dies, dass die beiden Parameter gleich sind. Wenn -1 zurückgegeben wird, bedeutet dies, dass $a
kleiner ist als $b
. es bedeutet, dass $a
größer als $b
ist. VerwendungAls nächstes schauen wir uns an, wie man die Funktion usort() zum Sortieren des Arrays verwendet. Angenommen, wir haben ein Array mit den folgenden Elementen: $students = [ ["name" => "Alice", "age" => 18], ["name" => "Bob", "age" => 20], ["name" => "Charlie", "age" => 19], ];Wenn wir dieses Array sortieren möchten, können wir die Funktion usort() verwenden:
function cmp_age($a, $b) { if ($a["age"] == $b["age"]) { return 0; } return ($a["age"] < $b["age"]) ? -1 : 1; }
"cmp"
hier ist der von uns definierte Vergleich Der Name der Funktion. Nachdem Sie den obigen Code ausgeführt haben, können Sie das sortierte Array erhalten: Die Funktion usort($students, "cmp_age");
[ ["name" => "Alice", "age" => 18], ["name" => "Charlie", "age" => 19], ["name" => "Bob", "age" => 20], ]
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung der Funktion usort() in der PHP-Funktionsbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!