Maison  >  Article  >  développement back-end  >  php array_multisort Explication détaillée et exemples de tableaux de tri

php array_multisort Explication détaillée et exemples de tableaux de tri

墨辰丷
墨辰丷original
2018-05-31 10:17:091476parcourir

Cet article présente principalement l'explication détaillée et un exemple de code de php array_multisort pour trier les tableaux. Les amis qui en ont besoin peuvent se référer à

La fonction array_multisort() en php peut être utilisée pour trier les tableaux. une fois. Triez un tableau ou triez un tableau multidimensionnel selon une ou plusieurs dimensions. Cet article vous explique comment utiliser la fonction array_multisort.

La fonction array_multisort() renvoie un tableau trié. Vous pouvez saisir un ou plusieurs tableaux. La fonction trie d'abord le premier tableau, puis les autres tableaux, et si deux valeurs ou plus sont identiques, elle trie le tableau suivant.

Remarque : Les noms de clés de chaîne seront conservés, mais les noms de clés numériques seront réindexés, en commençant à 0 et en incrémentant de 1.

Remarque : Vous pouvez définir l'ordre de tri et les paramètres de type de tri après chaque tableau. S'il n'est pas défini, chaque paramètre du tableau utilisera sa valeur par défaut.

Syntaxe

array_multisort(array1,ordre de tri,type de tri,array2,array3...)

Description du paramètre


Paramètre Description
tableau1 Obligatoire. Celui à trier.
Ordre de tri
参数 描述
array1 必需。要排序的一个。
sorting order

可选。规定排列顺序。可能的值:

  • SORT_ASC - 默认。按升序排列 (A-Z)。

  • SORT_DESC - 按降序排列 (Z-A)。

sorting type

可选。规定排序类型。可能的值:

  • SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。

  • SORT_NUMERIC - 把每一项作为数字来处理。

  • SORT_STRING - 把每一项作为字符串来处理。

  • SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。

  • SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。

  • SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

array2 可选。规定数组。
array3 可选。规定数组。
Facultatif. Spécifiez l'ordre de tri. Valeurs possibles :

  • SORT_ASC - Par défaut. Trier par ordre croissant (A-Z).
  • SORT_DESC - Trier par ordre décroissant (Z-A).

Type de tri Facultatif. Spécifie le type de tri. Valeurs possibles :

  • SORT_REGULAR - Par défaut. Mettez chaque élément dans un ordre régulier (ASCII standard, ne changez pas le type).

  • SORT_NUMERIC - traitez chaque élément comme un nombre.

  • SORT_STRING - Traitez chaque élément comme une chaîne.

  • SORT_LOCALE_STRING - Gère chaque élément comme une chaîne, en fonction des paramètres régionaux actuels (peut être modifié via setlocale()).


  • SORT_NATURAL - Traitez chaque élément comme une chaîne, en utilisant le tri naturel comme natsort().
  • SORT_FLAG_CASE - Peut être combiné (OU au niveau du bit) avec SORT_STRING ou SORT_NATURAL pour trier les chaînes, sans tenir compte de la casse.

array2 Facultatif. Spécifie un tableau.
array3 Facultatif. Spécifie un tableau.

Valeur de retour


Renvoie VRAI en cas de succès ou FAUX en cas d'échec.

Description

La fonction array_multisort() trie plusieurs tableaux ou tableaux multidimensionnels.

Le tableau du paramètre est traité comme une colonne de table et trié par ligne - ceci est similaire à la fonctionnalité de la clause ORDER BY de SQL. Le premier tableau est le tableau principal à trier. Si les lignes (valeurs) du tableau sont identiques, elles seront triées en fonction de la taille de la valeur correspondante dans le tableau d'entrée suivant, et ainsi de suite.

Le premier paramètre est un tableau, et chaque paramètre suivant peut être un tableau ou l'un des indicateurs d'ordre de tri suivants (l'indicateur de tri est utilisé pour modifier l'ordre de tri par défaut) :
<?php
 $ar = array(
    array("10",11,100,100,"a"),
    array(1,2,"2",3,1)
   );
 array_multisort($ar[0], SORT_ASC,SORT_STRING,$ar[1],SORT_NUMERIC,SORT_DESC);
 var_dump($ar);
?>

SORT_ASC - Par défaut, trier par ordre croissant. (A-Z)
SORT_DESC - Trier par ordre décroissant. (Z-A)


Le type de tri peut alors être précisé :

SORT_REGULAR - par défaut. Disposez chaque élément dans un ordre régulier.

SORT_NUMERIC - Triez chaque élément par ordre numérique.

SORT_STRING - Triez chaque élément par ordre alphabétique.

array(2) {
 [0]=> array(5) {
  [0]=> string(2) "10"
  [1]=> int(100)
  [2]=> int(100)
  [3]=> int(11)
  [4]=> string(1) "a"
 }
 [1]=> array(5) {
  [0]=> int(1)
  [1]=> int(3)
  [2]=> string(1) "2"
  [3]=> int(2)
  [4]=> int(1)
 }
}
Exemple 1 :


Trier un tableau multidimensionnel


Cet exemple Après le tri, le premier tableau deviendra "10", 100, 100, 11, "a" (traité comme des chaînes par ordre croissant). Le deuxième tableau contiendra 1, 3, "2", 2, 1 (traités comme des nombres par ordre décroissant).

Résultat de l'exécution :

<?php
 $array=array(&#39;Alpha&#39;,&#39;atomic&#39;,&#39;Beta&#39;,&#39;bank&#39;);
 $array_lowercase=array_map(&#39;strtolower&#39;,$array);
 array_multisort($array_lowercase,SORT_ASC,SORT_STRING,$array);
 print_r($array);
?>


Exemple 2 :

Array
(
  [0] => Alpha
  [1] => atomic
  [2] => bank
  [3] => Beta
)
Tri insensible à la casse


SORT_STRING et SORT_REGULAR sont tous deux sensibles à la casse et les lettres majuscules seront triées avant les lettres minuscules.

Pour effectuer un tri insensible à la casse, triez par copie minuscule du tableau d'origine.



Résultat en cours d'exécution :


Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

Comment lire des documents Word en PHP

PHP implémente la méthode d'obtention de la couleur principale de l'imagePHP implémente la fonction de calcul en ligne

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