Maison > développement back-end > tutoriel php > Explication détaillée de la fonction de tri php (avec exemples)

Explication détaillée de la fonction de tri php (avec exemples)

王林
Libérer: 2023-04-07 11:12:02
original
5142 Les gens l'ont consulté

Explication détaillée de la fonction de tri php (avec exemples)

Il existe de nombreuses façons de trier. Habituellement, les fonctions de tri de tableaux que nous utilisons souvent sont : sort(), rsort(), asort(). , arsort(), ksort(), krsort(). Ce qui suit est une introduction détaillée pour tout le monde.

sort(array,sortingtype);
Copier après la connexion

Explication détaillée de la fonction de tri php (avec exemples)

0 = SORT_REGULAR - Par défaut. Mettez chaque élément dans l'ordre régulier (ASCII standard, aucun changement de type)

1 = SORT_NUMERIC - Traitez chaque élément comme un nombre.

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

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

4 = SORT_NATURAL - Traitez chaque élément comme une chaîne, en utilisant le tri naturel comme natsort().

5 = 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.

Définition et utilisation : La fonction

sort() trie le tableau d'index par ordre croissant.

La fonction rsort() trie le tableau d'index par ordre décroissant, et l'autre utilisation est la même.

Remarque : Cette fonction attribue un nouveau nom de clé à l'unité du tableau. Le nom de clé d'origine sera supprimé.

Renvoie VRAI en cas de succès, sinon renvoie FAUX.

Conseil : veuillez utiliser la fonction rsort() pour trier le tableau d'index par ordre décroissant. La fonction

sort() est utilisée pour trier les cellules du tableau de bas en haut.

La fonction rsort() est utilisée pour trier les cellules du tableau de haut en bas.

La fonction asort() est utilisée pour trier les cellules du tableau de bas en haut et maintenir la relation d'index.

La fonction PHP asort() est utilisée pour trier les cellules du tableau de bas en haut et maintenir la relation d'index. Elle renvoie VRAI en cas de succès et FAUX en cas d'échec.

La fonction arsort() est utilisée pour trier les cellules du tableau de haut en bas et maintenir la relation d'index.

La fonction PHP arsort() se comporte à l'opposé de asort(). Elle trie les cellules du tableau de haut en bas et maintient la relation d'index. Veuillez vous référer à l'utilisation de la fonction asort().

La fonction ksort() est utilisée pour trier les cellules du tableau de bas en haut par nom de clé.

La fonction PHP ksort() est utilisée pour trier les cellules du tableau de bas en haut par nom de clé. Elle renvoie VRAI en cas de succès et FAUX en cas d'échec. Cette fonction conserve le nom de clé d'origine, elle est donc souvent utilisée dans les tableaux associatifs.

krsort() 函数用于对数组单元按照键名从高到低进行排序。

PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

使用用户自定义的比较函数对数组 $a 中的元素进行排序:

usort(array,myfunction);
Copier après la connexion
<?php
function my_sort($a,$b){
   if ($a==$b) return 0;
   return ($a<$b)?-1:1;
}

$a=array(4,2,8,6);
usort($a,"my_sort");

$arrlength=count($a);
for($x=0;$x<$arrlength;$x++)
   {
      echo $a[$x];
      echo "<br>";
   }?>
Copier après la connexion
1、使用array_multisort

使用这个方法,会比较麻烦些,要将age提取出来存储到一维数组里,然后按照age升序排列。具体代码如下:

代码如下:<?php
$ages = array();
foreach ($users as $user) {
  $ages[] = $user[&#39;age&#39;];
}
array_multisort($ages, SORT_ASC, $users);

执行后,$users就是排序好的数组了,可以打印出来看看。如果需要先按年龄升序排列,再按照名称升序排列,方法同上,就是多提取一个名称数组出来,最后的排序方法这样调用:

代码如下:
array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users);
2、使用usort
使用这个方法最大的好处就是可以自定义一些比较复杂的排序方法。例如按照名称的长度降序排列:

代码如下:
<?php
      usort($users, function($a, $b) {
      $al = strlen($a[&#39;name&#39;]);
      $bl = strlen($b[&#39;name&#39;]);
      if ($al == $bl) 
          return 0;      
          return ($al > $bl) ? -1 : 1;
    });

这里使用了匿名函数,如果有需要也可以单独提取出来。其中$a, $b可以理解为$users数组下的元素,可以直接索引name值,
并计算长度,而后比较长度就可以了。
Copier après la connexion

以上是工作中常用的数组排序方法,想了解更多相关问题请访问PHP中文网: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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal