PHP-Arrays können sortiert werden. PHP verfügt über eine Vielzahl von Array-Sortierfunktionen: 1. sort(), das in aufsteigender Reihenfolge sortiert werden kann, mit der Syntax „sort(array)“ 2. rsort(), das in absteigender Reihenfolge sortiert werden kann, mit der Syntax „rsort(array)“; 3. shuffle( ), kann zufällig sortiert werden, die Syntax ist „shuffle(array)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
PHP-Arrays können sortiert werden.
php bietet eine Vielzahl integrierter Funktionen für unterschiedliche Array-Sortieranforderungen (Schlüsselwert, Schlüsselname, aufsteigende Reihenfolge, absteigende Reihenfolge usw.).
1. Sortieren Sie das Array in aufsteigender Reihenfolge.
Es gibt drei häufig verwendete aufsteigende Sortierfunktionen für Arrays:
sort(): Sortieren Sie die Array-Elemente in aufsteigender Reihenfolge. : Sortieren Sie das Array entsprechend dem Schlüsselwert des Arrays in aufsteigender Reihenfolge.
ksort(): Sortieren Sie das Array in aufsteigender Reihenfolge nach dem Schlüsselnamen des zugehörigen Arrays sort()-Funktion
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); sort($arr1); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); sort($arr2); var_dump($arr2); ?>
sort()-Funktion hat zwei Parameter: $array (erforderlich) und $sortingtype (kann weggelassen werden).
Unter anderem wird der Parameter $sortingtype verwendet, um den Sortiermodus der Funktion zu definieren und anzugeben, wie die Elemente/Elemente des Arrays verglichen werden sollen. Der Standardwert ist „SORT_REGULAR“. Der Parameter
$sortingtype kann auf die folgenden Werte gesetzt werden:
Ausgabe:0 = SORT_REGULAR: Array-Elemente normal vergleichen, ohne ihren Typ zu ändern (Standardwert);
1 = SORT_NUMERIC: Array-Elemente als Zahlen behandeln ;
- 2 = SORT_STRING: Array-Elemente als Strings behandeln;
- 3 = SORT_LOCALE_STRING: Array-Elemente basierend auf dem aktuellen Gebietsschema (kann durch setlocale() geändert werden) als Strings vergleichen.
- 4 = SORT_NATURAL: Ähnlich wie natsort() sortiert es Strings in „natürlicher Reihenfolge“ für jedes Array-Element. Es ist neu in PHP5.4.0.
- 5 = SORT_FLAG_CASE: Kann mit SORT_STRING oder SORT_NATURAL (OR-Bit-Operation) kombiniert werden, Sortierzeichenfolge ohne Berücksichtigung der Groß- und Kleinschreibung.
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); sort($arr1,2); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); sort($arr2,1); var_dump($arr2); ?>Nach dem Login kopierenAusgabeergebnis:
- Die Funktion sort() behält die Indexbeziehung nicht bei, sondern löscht den ursprünglichen Schlüsselnamen im Array und weist ihm einen neuen numerischen Schlüsselnamen zu.
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); sort($age); var_dump($age); ?>Nach dem Login kopieren
2. Verwenden Sie die Funktion asort()
Die Funktion asort() sortiert das assoziative Array in aufsteigender Reihenfolge basierend auf den Schlüsselwerten und ändert die Schlüsselnamen im ursprünglichen Array nicht.
header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); asort($age); var_dump($age); ?>
Die Parameterwerte sind die gleichen wie die Funktion sort(), Sie können auf sie verweisen.
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); ksort($age); var_dump($age); ?>Nach dem Login kopierenAusgabe:
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple"); ksort($arr); var_dump($arr); ?>
Die Funktion ksort() hat auch zwei Parameter. Die Parameterwerte sind die gleichen wie die Funktion sort(), Sie können auf sie verweisen .
2. Sortieren Sie das Array in absteigender Reihenfolge.
Es gibt drei häufig verwendete absteigende Sortierfunktionen für Arrays:
rsort(): Sortieren Sie die Array-Elemente in absteigender Reihenfolge. ): Sortieren Sie das Array in absteigender Reihenfolge nach dem Schlüsselwert des zugehörigen Arrays
krsort(): Sortieren Sie das Array in absteigender Reihenfolge nach dem Schlüsselnamen des zugehörigen Arrays1 die rsort()-Funktion
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(2, 1, 5, 16, 29, 15); rsort($arr); var_dump($arr); ?>
rsort() 函数有两个参数:$array(必须)和$sortingtype(可省略)。$sortingtype参数用于表示排序模式,具体取值可以参考上篇文章的sort()函数。下文arsort()和krsort()同样参考sort()函数。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(2, 1, 5, 16, 29, 15); rsort($arr,2); var_dump($arr); ?>
输出结果:
rsort()和sort()函数一样,都不会保持索引关系,会删除数组中原有的键名,并为其重新赋值;因此不适合用于注重值和索引间关系的数组。
2、使用arsort()函数
arsort()函数会根据关联数组的键值进行降序排序,且不会修改原数组中的键名。
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); arsort($age); var_dump($age); arsort($age,2); var_dump($age); ?>
输出结果:
3、使用krsort()函数
krsort()函数会根据关联数组的键名进行降序排序,也不会修改原数组中的键名。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple"); krsort($arr); var_dump($arr); krsort($arr,1); var_dump($arr); ?>
输出结果:
3、随机排序
在PHP中,可以使用shuffle()函数随机排序,打乱数组元素。
shuffle()函数会把数组中的元素按随机顺序重新排列。
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); shuffle($arr1); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); shuffle($arr2); var_dump($arr2); ?>
输出结果:
刷新一下,结果就改变了:
说明:shuffle()函数不仅会将数组随机打乱,还会删除数组中原有的键名,并为其赋与新的数值键名(即不会保持索引关系)。
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonKönnen PHP-Arrays sortiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!