Les tableaux PHP peuvent être triés. PHP dispose d'une variété de fonctions de tri de tableaux : 1. sort(), qui peut être triée par ordre croissant, avec la syntaxe "sort(array)" ; 2. rsort(), qui peut être triée par ordre décroissant, avec la syntaxe ; "rsort(array)"; 3. shuffle( ), peut être trié aléatoirement, la syntaxe est "shuffle(array)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Les tableaux PHP peuvent être triés.
php fournit une variété de fonctions intégrées pour différents besoins de tri de tableaux (valeur de clé, nom de clé, ordre croissant, ordre décroissant, etc.).
1. Trier le tableau par ordre croissant
Il existe trois fonctions de tri ascendant de tableau couramment utilisées en PHP :
sort() : Trier les éléments du tableau par ordre croissant
asort() : Selon l'association La valeur clé du tableau, trier le tableau par ordre croissant
ksort() : Trier le tableau par ordre croissant selon le nom de clé du tableau associé
1. Fonction sort()
fonction sort() pour trier le tableau par ordre croissant Les éléments du tableau sont triés par ordre croissant (petit à grand, de bas en haut).
<?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); ?>
Sortie :
La fonction sort() a deux paramètres : $array (obligatoire) et $sortingtype (peut être omis).
Parmi eux, le paramètre $sortingtype est utilisé pour définir le mode de tri de la fonction et spécifier comment comparer les éléments/items du tableau. La valeur par défaut est "SORT_REGULAR". Le paramètre
$sortingtype peut être défini sur les valeurs suivantes :
0 = SORT_REGULAR : compare les éléments du tableau normalement sans changer leur type (valeur par défaut)
1 = SORT_NUMERIC : traite les éléments du tableau comme des nombres ;
2 = SORT_STRING : traite les éléments du tableau comme des chaînes ;
3 = SORT_LOCALE_STRING : en fonction des paramètres régionaux actuels (peut être modifié par setlocale()), compare les éléments du tableau comme des chaînes.
4 = SORT_NATURAL : Semblable à natsort(), il trie les chaînes dans "l'ordre naturel" pour chaque élément du tableau. C'est nouveau dans PHP5.4.0.
5 = SORT_FLAG_CASE : Peut être combiné avec SORT_STRING ou SORT_NATURAL (opération sur bit OR), chaîne de tri insensible à la casse.
<?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); ?>
Résultat de sortie :
La fonction sort() ne maintiendra pas la relation d'index, mais supprimera le nom de clé d'origine dans le tableau et lui attribuera un nouveau nom de clé numérique.
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); sort($age); var_dump($age); ?>
Sortie :
La fonction sort() peut être utilisée pour les tableaux (tableaux numériques) où la relation entre les valeurs et les index n'est pas si importante, mais elle ne convient pas aux tableaux où la relation entre les valeurs et les index sont importants. À ce stade, vous devez utiliser les fonctions asort() et ksort().
2. Utilisez la fonction asort()
La fonction asort() triera le tableau associatif par ordre croissant en fonction des valeurs clés et ne modifiera pas les noms de clés dans le tableau d'origine.
header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); asort($age); var_dump($age); ?>
Sortie :
La fonction asort() a également deux paramètres. Les valeurs des paramètres sont les mêmes que la fonction sort(), vous pouvez vous y référer.
3. Utilisez la fonction ksort()
La fonction ksort() triera le tableau associatif par ordre croissant en fonction des noms de clés, et ne modifiera pas les noms de clés dans le tableau d'origine.
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); ksort($age); var_dump($age); ?>
Sortie :
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple"); ksort($arr); var_dump($arr); ?>
Sortie :
La fonction ksort() a également deux paramètres, les valeurs des paramètres sont les mêmes que la fonction sort(), vous pouvez vous y référer .
2. Triez le tableau par ordre décroissant
Il existe trois fonctions de tri décroissant de tableau couramment utilisées en PHP :
rsort() : Trie les éléments du tableau par ordre décroissant
arsort( ) : Selon Trier le tableau par ordre décroissant selon la valeur clé du tableau associatif
krsort() : Trier le tableau par ordre décroissant selon le nom de clé du tableau associatif
1. la fonction rsort()
Fonction rsort() Utilisée pour trier les éléments du tableau par ordre décroissant, c'est-à-dire du grand au petit et du haut au bas.
Jetons un coup d'œil à l'exemple de code :
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(2, 1, 5, 16, 29, 15); rsort($arr); var_dump($arr); ?>
Résultat de sortie :
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视频教程》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!