Maison  >  Article  >  développement back-end  >  Utilisation et exemple d'analyse de la fonction de tableau PHP array_multisort()

Utilisation et exemple d'analyse de la fonction de tableau PHP array_multisort()

墨辰丷
墨辰丷original
2018-06-04 10:39:512304parcourir

Cet article présente principalement l'utilisation de la fonction de tableau PHP array_multisort() et analyse en détail la fonction de la fonction array_multisort avec des exemples, des définitions et des compétences d'utilisation dans le processus de tri de tableaux. Les amis dans le besoin peuvent s'y référer

.

Parfois, nous devons trier la valeur d'une clé dans un tableau à deux dimensions. Ce problème est abordé ici. Nous pouvons utiliser la fonction array_multisort(). 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) :

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.

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

array1 : obligatoire. Spécifie le tableau d'entrée.
Ordre de tri : facultatif. Spécifiez l'ordre de tri. Les valeurs possibles sont SORT_ASC et SORT_DESC.
Type de tri : facultatif. Spécifie le type de tri. Les valeurs possibles sont SORT_REGULAR, SORT_NUMERIC et SORT_STRING.
array2 : facultatif. Spécifie le tableau d'entrée.
array3 : facultatif. Spécifie le tableau d'entrée.

Les noms des clés de chaîne seront conservés, mais les clés numériques seront réindexées, en commençant à 0 et en augmentant de 1. L'ordre de tri et le type de tri peuvent être définis après chaque tableau. S'il n'est pas défini, chaque paramètre du tableau utilisera sa valeur par défaut.

Ce qui suit est un exemple :

<?php
 $arr = &#39;&#39;;
 echo &#39;二维数组如下:&#39;.&#39;<br / >&#39;;
 for($i=0; $i<=5; $i++)
 {
 $arr[$i][&#39;val&#39;] = mt_rand(1, 100);
 $arr[$i][&#39;num&#39;] = mt_rand(1, 100);
 }
 echo &#39;<pre class="brush:php;toolbar:false">&#39;;
 print_r($arr);
 echo &#39;
'; echo '从二维数组中抽出键为val,单独成另一个数组:'.'
'; foreach ($arr as $key => $row) { $vals[$key] = $row['val']; $nums[$key] = $row['num']; } echo '
&#39;;
 print_r($vals);
 echo &#39;
'; echo '对其进行排序:'.'
'; array_multisort($vals, SORT_ASC, $arr); echo '
&#39;;
 print_r($vals);
 echo &#39;
'; ?>

Résultat d'exécution :

二维数组如下:
Array
(
  [0] => Array
    (
      [val] => 46
      [num] => 49
    )
  [1] => Array
    (
      [val] => 8
      [num] => 24
    )
  [2] => Array
    (
      [val] => 37
      [num] => 3
    )
  [3] => Array
    (
      [val] => 32
      [num] => 35
    )
  [4] => Array
    (
      [val] => 19
      [num] => 38
    )
  [5] => Array
    (
      [val] => 30
      [num] => 37
    )
)

 
从二维数组中抽出键为val,单独成另一个数组:

Array
(
  [0] => 46
  [1] => 8
  [2] => 37
  [3] => 32
  [4] => 19
  [5] => 30
)

对其进行排序:

Array
(
  [0] => 8
  [1] => 19
  [2] => 30
  [3] => 32
  [4] => 37
  [5] => 46
)

Résumé : 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 :

phpUtilisation de la fonction number_format pour intercepter les décimales et les exemples d'analyse

phpExplication détaillée de la méthode de configuration d'utilisation de pdo pour se connecter à sqlite3

phpComment déterminer le format via le fichier en-tête

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