Maison  >  Article  >  développement back-end  >  Les tableaux php peuvent-ils être triés ?

Les tableaux php peuvent-ils être triés ?

青灯夜游
青灯夜游original
2022-05-07 16:59:242041parcourir

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)".

Les tableaux php peuvent-ils être triés ?

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 :

Les tableaux php peuvent-ils être triés ?

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 :

Les tableaux php peuvent-ils être triés ?

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 :

Les tableaux php peuvent-ils être triés ?

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 :

Les tableaux php peuvent-ils être triés ?

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 :

Les tableaux php peuvent-ils être triés ?

<?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 :

Les tableaux php peuvent-ils être triés ?

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 :

Les tableaux php peuvent-ils être triés ?

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);
?>

输出结果:

Les tableaux php peuvent-ils être triés ?

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);
?>

输出结果:

Les tableaux php peuvent-ils être triés ?

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);
?>

输出结果:

Les tableaux php peuvent-ils être triés ?

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);
?>

输出结果:

Les tableaux php peuvent-ils être triés ?

刷新一下,结果就改变了:

Les tableaux php peuvent-ils être triés ?

Les tableaux php peuvent-ils être triés ?

说明: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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn