Heim > Artikel > Backend-Entwicklung > So sortieren Sie in PHP nach Array-Werten
In PHP können wir ein Array mit den integrierten Funktionen sort()
und rsort()
in aufsteigender und absteigender Reihenfolge sortieren. Diese beiden Funktionen können die Schlüssel des Arrays jedoch nur nach Schlüsselwert sortieren. Wenn Sie die Werte im Array nach Schlüsselwert sortieren möchten, müssen Sie andere Funktionen verwenden. sort()
和 rsort()
对数组进行升序排序和降序排序。不过这两个函数只能通过键值对数组的键进行排序,如果想按照键值对数组中的值进行排序,就需要使用其他的函数。
下面介绍几种按数组值排序的方法:
asort()
和 arsort()
在 PHP 中,我们可以使用内置函数 asort()
对数组按照值进行升序排序,使用 arsort()
对数组按照值进行降序排序。这两个函数还会保留键值之间的关联关系。
$numbers = array(3, 1, 5, 2, 4); asort($numbers); print_r($numbers); // Output: Array ( [1] => 1 [3] => 2 [0] => 3 [4] => 4 [2] => 5 ) arsort($numbers); print_r($numbers); // Output: Array ( [2] => 5 [4] => 4 [0] => 3 [3] => 2 [1] => 1 )
注意,如果我们使用 sort()
和 rsort()
对键值对数组进行排序,则会丢失键值与值之间的关联。而 asort()
和 arsort()
则可以保留键值与值之间的关联。
usort()
PHP 还提供了 usort()
函数,可以按照自定义的比较函数对数组进行排序。比较函数需要接受两个参数,如果第一个参数小于第二个参数,函数返回负值;如果两个参数相等,函数返回 0;如果第一个参数大于第二个参数,函数返回正值。
下面是一个使用 usort()
对数组按照值进行升序排序的示例:
$numbers = array(3, 1, 5, 2, 4); function compare_function($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } usort($numbers, 'compare_function'); print_r($numbers); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
array_multisort()
还有一种常用的方式是使用 array_multisort()
函数,该函数可以同时对多个数组进行排序。我们可以传入一个数组和排序方式,然后函数会根据排序方式按照数组的值进行排序。
下面是一个使用 array_multisort()
函数对数组进行升序排序的示例:
$numbers = array(3, 1, 5, 2, 4); array_multisort($numbers, SORT_ASC); print_r($numbers); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
注意,array_multisort()
函数会对所有的数组都进行排序。如果需要按照某个特定数组进行排序,则需要把这个数组放在第一个参数的位置。
按数组值排序在 PHP 中有多种实现方式,以上介绍的只是其中的几种。在使用这些函数时,需要注意参数的类型和位置,以及排序方式的选择。同时,当有多个参数需要排序时,使用 array_multisort()
asort()
und arsort()
asort()
, um das Array in aufsteigender Reihenfolge nach Wert zu sortieren, und verwenden Sie arsort()
, um das Array in absteigender Reihenfolge nach Wert zu sortieren. Diese beiden Funktionen bewahren auch die Zuordnung zwischen Schlüsselwerten. 🎜rrreee🎜Beachten Sie, dass die Zuordnung zwischen Schlüssel und Wert verloren geht, wenn wir sort()
und rsort()
zum Sortieren des Schlüssel-Wert-Arrays verwenden. Und asort()
und arsort()
können die Zuordnung zwischen Schlüsseln und Werten bewahren. 🎜usort()
usort()
, die Arrays nach benutzerdefinierten Vergleichsfunktionen sortieren kann. Die Vergleichsfunktion muss zwei Parameter akzeptieren, wenn der erste Parameter kleiner als der zweite Parameter ist. Die Funktion gibt einen positiven Wert zurück. 🎜🎜Hier ist ein Beispiel für die Verwendung von usort()
, um ein Array in aufsteigender Reihenfolge nach Wert zu sortieren: 🎜rrreeearray_multisort()
array_multisort()
, mit der mehrere Arrays gleichzeitig sortiert werden können. Wir können ein Array und eine Sortiermethode übergeben, und dann sortiert die Funktion die Array-Werte entsprechend der Sortiermethode. 🎜🎜Hier ist ein Beispiel für die Verwendung der Funktion array_multisort()
zum Sortieren eines Arrays in aufsteigender Reihenfolge: 🎜rrreee🎜Beachten Sie, dass die Funktion array_multisort()
alle Arrays sortiert. Wenn Sie nach einem bestimmten Array sortieren müssen, müssen Sie dieses Array in den ersten Parameter einfügen. 🎜array_multisort()
die Verarbeitung komfortabler machen. 🎜Das obige ist der detaillierte Inhalt vonSo sortieren Sie in PHP nach Array-Werten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!