Introduction à 13 fonctions de tri de tableaux en PHP

不言
Libérer: 2023-04-03 10:50:02
original
1875 Les gens l'ont consulté

Le contenu partagé avec vous dans cet article concerne la fonction de tri des tableaux PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

  • S'il y a u dans la fonction, vous pouvez personnaliser la fonction de comparaison ; s'il y a k, vous pouvez le trier par clé ; inverse), ce sera dans l'ordre inverse ; s'il y a r doit être une association clé-valeur Sauf pour a(association) rsort() usort() sort(), tout le reste sans shuffle() est une clé-valeur. association. a l'association clé-valeur est conservée, mais les types numériques ne sont pas conservés. array_multisort()

  • Toutes les fonctions de tri suivantes agissent directement sur le tableau lui-même, plutôt que de renvoyer un nouveau tableau ordonné.

  • Pour les fonctions suivantes, l'ordre des éléments égaux dans le tableau après le tri n'est pas défini. (C'est-à-dire que l'ordre entre éléments égaux est instable, c'est-à-dire que le résultat de chaque tri d'éléments ayant la même valeur est incertain (tableau associatif)). php7

    asort arsort a réalisé un tri stable, un tri stable php5 : http://php.net/manual/zh/func...uasort

  • dans la paire contenant Soyez prudent lorsque vous triez des tableaux de valeurs de type mixte car sort() peut produire des résultats imprévisibles.

1.array_multisort

  • peut être utilisé pour trier plusieurs tableaux à la fois ou pour trier des tableaux multidimensionnels selon une certaine dimension ou plusieurs dimensions.

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
Copier après la connexion
Drapeau de type de tri :

  • SORT_REGULAR (par défaut) - comparez les éléments de la manière habituelle (sans modifier le type , Les lettres majuscules sensibles à la casse seront triées avant les lettres minuscules)

  • SORT_NUMERIC - Comparez selon la taille numérique

  • SORT_STRING - Comparez selon la taille numérique string (sensible à la casse)

  • SORT_LOCALE_STRING - Compare les chaînes en fonction des paramètres de localisation actuels. Il utilise des informations locales, qui peuvent être modifiées via setlocale().

  • SORT_NATURAL - "ordre naturel" des chaînes, similaire à natsort()

  • SORT_FLAG_CASE - peut être combiné (OU au niveau du bit) SORT_STRING Ou SORT_NATURAL pour trier les chaînes sans tenir compte de la casse.

  • 1.1 S'il y a plusieurs paramètres de tableau,

    sera trié en fonction du résultat de $array2, comme le $array1group by

  • 1.2 Tri insensible à la casse :
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array); // 先复制一个转为小写数组

array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);   // 先对小写数组排序,再排序原数组

print_r($array);
Copier après la connexion
    1.3 Tri des résultats de la base de données
2.sort
function array_orderby()
{
    $args = func_get_args();
    $data = array_shift($args);
    foreach ($args as $n => $field) {
        if (is_string($field)) {
            $tmp = array();
            foreach ($data as $key => $row)
                $tmp[$key] = $row[$field];
            $args[$n] = $tmp;
            }
    }
    $args[] = &$data;
    call_user_func_array('array_multisort', $args);
    return array_pop($args);
}
Copier après la connexion

    Supprimez les noms de clés d'origine pour trier le tableau (ordre)
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Copier après la connexion
  • les résultats du tri sont les mêmes que

    . sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);natcasesort()

  • 3.rsort

    Tri inverse du tableau
4.asort
bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Copier après la connexion

    Maintenir l'association clé-valeur. Principalement utilisé pour trier des tableaux associatifs où l'ordre des cellules est important.
5.arsort
bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Copier après la connexion

    Ordre inverse et maintien de la relation d'index (association, inverse)
6.ksort
bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Copier après la connexion

    Trier par
  • 键名

7.krsort
bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Copier après la connexion

    Appuyez sur
  • dans l'ordre inverse

    键名

8.usort
bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Copier après la connexion

    Utilisez la fonction de comparaison définie par l'utilisateur pour comparez les tableaux
  • à trier, si le tableau à trier doit être trié selon un critère inhabituel, alors cette fonction doit être utilisée.

bool usort ( array &$array , callable $value_compare_func )
Copier après la connexion
  • Lorsque

    est inférieur, égal ou supérieur à $value_compare_func( mixed $a, mixed $b ) , la fonction de comparaison doit renvoyer un inférieur à , égal à, ou Un entier supérieur à 0. $a$b

  • Tri des attributs d'objet

    usort($a, array("TestObj", "cmp_obj"))

  • 9.uasort

    Utiliser la comparaison définie par l'utilisateur les fonctions trient les valeurs dans un tableau et conservent les associations d'index
10.uksort
bool uasort ( array &$array , callable $value_compare_func )
Copier après la connexion

    Utiliser les fonctions de comparaison définies par l'utilisateur Trier
  • dans le tableau

    键名

11.natcasesort
bool uksort ( array &$array , callable $key_compare_func )
Copier après la connexion

    Tri naturel qui ne fait pas la distinction entre les lettres majuscules et minuscules (terminé) lettres puis chiffres), conserver l'association clé valeur
12.natsort
bool natcasesort ( array &$array )
Copier après la connexion

    Utiliser l'algorithme de "tri naturel" pour trier le tableau, Maintenir l'association clé-valeur
13.shuffle
bool natsort ( array &$array )
Copier après la connexion

    Cette fonction mélange (organise de manière aléatoire l'ordre des cellules) un tableau. Les valeurs clés ne sont pas associées
Recommandations associées :
bool shuffle ( array &$array )
Copier après la connexion

Introduction à 10 fonctions de chaîne couramment utilisées en PHP et comment les utiliser

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!