Heim > Backend-Entwicklung > PHP-Problem > Welche Methoden gibt es zum Sortieren von Arrays in PHP?

Welche Methoden gibt es zum Sortieren von Arrays in PHP?

PHPz
Freigeben: 2023-04-20 14:24:44
Original
3494 Leute haben es durchsucht

Array ist in PHP ein sehr wichtiger Datentyp, der eine Reihe von Daten speichern und einfach bedient werden kann. Wenn wir ein Array sortieren müssen, bietet PHP viele integrierte Funktionen und Methoden.

In diesem Artikel werden die häufig verwendeten Array-Sortiermethoden in PHP vorgestellt, darunter hauptsächlich die folgenden:

  1. array_sort()-Funktion
  2. sort()-Funktion
  3. asort()-Funktion
  4. ksort()-Funktion
  5. usort()-Funktion
  6. uasort( ) Funktion
  7. uksort() Funktion
  8. natsort() Funktion
  9. arsort() Funktion
  10. rsort() Funktion
  11. array_sort()-Funktion

array_sort()-Funktion ist eine benutzerdefinierte Funktion in PHP, die zum Sortieren von Arrays verwendet werden kann. Beim Aufruf dieser Funktion müssen Sie zwei Parameter übergeben. Der erste Parameter ist das zu sortierende Array und der zweite Parameter ist die Sortiermethode. Sie können SORT_ASC und SORT_DESC verwenden.

Das Folgende ist ein Beispiel für die Verwendung der Funktion array_sort() zum Sortieren eines Arrays:

function array_sort($arr,$keys,$type=SORT_ASC){
    $keysvalue = array();
    foreach($arr as $key=>$val){
        $keysvalue[$key] = $val[$keys];
    }
    if($type == SORT_ASC){
        asort($keysvalue);
    }else{
        arsort($keysvalue);
    }
    reset($keysvalue);
    foreach($keysvalue as $key=>$vals) {
        $keysort[$key] = $key;
    }
    $new_array = array();
    foreach($keysort as $key=>$val) {
        $new_array[$val] = $arr[$val];
    }
    return $new_array;
}
Nach dem Login kopieren

Verwendung:

$arr ​​​​= Array (#🎜 🎜#

array('id'=>1,'name'=>'Tom','age'=>20),
array('id'=>2,'name'=>'Jerry','age'=>18),
array('id'=>3,'name'=>'Lucy','age'=>22)
Nach dem Login kopieren
);

$arr ​​​​= array_sort($arr,'age',SORT_DESC);
print_r($arr);
#🎜🎜 #Ausgabeergebnis: # 🎜🎜#

Array

(

[0] => Array
    (
        [id] => 3
        [name] => Lucy
        [age] => 22
    )

[1] => Array
    (
        [id] => 1
        [name] => Tom
        [age] => 20
    )

[2] => Array
    (
        [id] => 2
        [name] => Jerry
        [age] => 18
    )
Nach dem Login kopieren

)

sort()-Funktion

#🎜 🎜##🎜🎜 Die Funktion #sort() ist eine der am häufigsten verwendeten Sortierfunktionen in PHP, hauptsächlich zum Sortieren von Arrays. Es kann in aufsteigender oder absteigender Reihenfolge sortiert werden oder die Indexbeziehung des Arrays bleibt unverändert.
  1. Das Folgende ist ein Beispiel für die Verwendung der Funktion sort() zum Sortieren eines Arrays:
$arr ​​​​= array(3,1,4,2,5) ;#🎜🎜 #sort($arr);

print_r($arr);

Ausgabeergebnis:

Array
(

[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
Nach dem Login kopieren
#🎜🎜 #)

asort()-Funktion


asort()-Funktion ist eine Methode zum Sortieren eines Arrays, in dem es sein kann in aufsteigender oder absteigender Reihenfolge, die Indexbeziehung des Arrays bleibt jedoch unverändert. Bei Verwendung der Funktion asort() wird das Array anhand seiner Werte sortiert.

Das Folgende ist ein Beispiel für die Verwendung der Funktion asort() zum Sortieren eines Arrays:
  1. $arr ​​​​= array(3,1,4,2,5) ;#🎜🎜 #asort($arr);
  2. print_r($arr);

Ausgabeergebnis:

Array

(

[1] => 1
[3] => 2
[0] => 3
[2] => 4
[4] => 5
Nach dem Login kopieren
#🎜🎜 #)

ksort()-Funktion

ksort()-Funktion ist eine Methode zum Sortieren eines Arrays, in dem es sein kann Die Sortierung erfolgt in aufsteigender oder absteigender Reihenfolge, die Beziehung zwischen den Schlüsseln und Werten des Arrays bleibt jedoch unverändert.

Das Folgende ist ein Beispiel für die Verwendung der Funktion ksort() zum Sortieren eines Arrays:

$arr ​​​​= array('d'=>'Dog', 'a'= >'Apple','c'=>'Cat','b'=>'Boy');
    ksort($arr);
  1. print_r($arr) ;#🎜🎜 #
  2. Ausgabeergebnis:

Array

(

[a] => Apple
[b] => Boy
[c] => Cat
[d] => Dog
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
)



usort( ) Funktion#🎜 🎜#

Die Funktion usort() ist eine Methode zum Sortieren von Arrays. Sie unterscheidet sich von anderen Sortierfunktionen. Mit der Funktion usort() können Sie einen Sortieralgorithmus anpassen. Wenn Sie die Funktion usort() verwenden, können Sie eine Vergleichsfunktion angeben, die die Werte des Arrays anhand eines gewünschten Kriteriums (z. B. der Anzahl der in der Zeichenfolge enthaltenen Zeichen oder der Größe der Zahl) vergleicht.

Das Folgende ist ein Beispiel für die Verwendung der Funktion usort() zum Sortieren eines Arrays:

function cmp($a, $b)

{#🎜🎜 #

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}
    $arr ​​​​= array(3,1,4,2,5);
  1. usort($arr, "cmp");
  2. print_r($ arr);# 🎜🎜#
Ausgabeergebnis:

Array

(

[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
Nach dem Login kopieren

)

uasort()-Funktion


uasort()-Funktion ist eine Sortierfunktion in PHP. Sie ähnelt der usort()-Funktion und ermöglicht Ihnen die Anpassung des Sortieralgorithmus. Aber im Gegensatz zur Funktion usort() bleiben die Schlüsselwerte des Arrays unverändert.

Das Folgende ist ein Beispiel für die Verwendung der Funktion uasort() zum Sortieren eines Arrays:

function cmp($a, $b)
{#🎜🎜 #

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

$arr ​​​​= array('d'=>'Dog','a'=>'Apple','c'=>'Cat','b '=> 'Boy');uasort($arr, "cmp");

    print_r($arr);
  1. Ausgabeergebnis:
#🎜 🎜#Array# 🎜🎜#(

[a] => Apple
[b] => Boy
[c] => Cat
[d] => Dog
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
)

uksort()-Funktion

uksort()-Funktion ist in PHP eine Sortierfunktion, die der Funktion ksort() ähnelt und ebenfalls auf- oder absteigend sortiert werden kann. Im Gegensatz zur Funktion ksort() können Sie jedoch den Sortieralgorithmus anpassen und die Beziehung zwischen Schlüsseln und Werten bleibt unverändert.

Das Folgende ist ein Beispiel für die Verwendung der Funktion uksort() zum Sortieren eines Arrays:

function cmp($a, $b)

{#🎜🎜 #

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

$arr ​​​​= array('d'=>'Dog','a'=>'Apple','c'=>'Cat','b '=> 'Boy');
uksort($arr, "cmp");print_r($arr);

Ausgabeergebnis:
    #🎜 🎜#Array# 🎜🎜#(
  1. [a] => Apple
    [b] => Boy
    [c] => Cat
    [d] => Dog
    Nach dem Login kopieren
    Nach dem Login kopieren
    Nach dem Login kopieren
  2. )

natsort()-Funktion

natsort()-Funktion ist in PHP eine Sortierfunktion, die ein Array nach natürlichen Zahlen sortiert, was möglicherweise nicht intuitiv ist, da es Zahlen in einer Zeichenfolge vergleicht.

Das Folgende ist ein Beispiel für die Verwendung der Funktion natsort() zum Sortieren eines Arrays:


$arr ​​​​= array('img12.png', 'img10.png ', 'img2 .png', 'img1.png');
natsort($arr);
print_r($arr);

Ausgabeergebnis:

Array
(

[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
Nach dem Login kopieren

)

  1. arsort()函数

arsort()函数是PHP中的一种排序函数,它可以按照降序方式将数组中的元素进行排序。该函数不会保留原来数组中的键(key)与值(value)之间的关系。

下面是一个使用arsort()函数对数组进行排序的例子:

$arr = array(3,1,4,2,5);
arsort($arr);
print_r($arr);

输出结果:

Array
(

[4] => 5
[2] => 4
[0] => 3
[1] => 1
[3] => 2
Nach dem Login kopieren

)

  1. rsort()函数

rsort()函数是PHP中常用的排序函数之一,它可以按照降序的方式来排序。该函数不会保留原来数组中的键(key)与值(value)之间的关系。

下面是一个使用rsort()函数对数组进行排序的例子:

$arr = array(3,1,4,2,5);
rsort($arr);
print_r($arr);

输出结果:

Array
(

[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
Nach dem Login kopieren

)

总结:

以上介绍了PHP中常用的数组排序方法,包括array_sort()函数、sort()函数、asort()函数、ksort()函数、usort()函数、uasort()函数、uksort()函数、natsort()函数、arsort()函数和rsort()函数。不同的排序函数有不同的需求和使用场景,开发者应根据具体的需求来选择合适的排序函数。

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zum Sortieren von Arrays in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage