Maison  >  Article  >  développement back-end  >  Quelles sont les méthodes de tri des tableaux bidimensionnels en php

Quelles sont les méthodes de tri des tableaux bidimensionnels en php

PHPz
PHPzoriginal
2023-04-26 10:29:281064parcourir

En PHP, un tableau bidimensionnel est un type de données très couramment utilisé. Il s'agit d'un tableau composé de plusieurs tableaux unidimensionnels. Chaque tableau unidimensionnel peut contenir plusieurs éléments. Lorsqu'il s'agit de tableaux bidimensionnels, nous devrons peut-être trier l'ensemble du tableau en fonction de la valeur d'un certain élément. Cet article présentera plusieurs façons d'implémenter le tri de tableaux bidimensionnels en PHP.

  1. Utilisez la fonction array_multisort()

La fonction array_multisort() en PHP peut être utilisée pour trier plusieurs tableaux ou tableaux multidimensionnels. Dans un tableau bidimensionnel, nous pouvons utiliser cette fonction pour trier un tableau unidimensionnel spécifié tout en conservant la même relation clé-valeur que dans son autre tableau unidimensionnel correspondant.

Exemple de code :

<?php
$students = array(
    array("name" => "Tom", "score" => 80),
    array("name" => "Mary", "score" => 90),
    array("name" => "Jack", "score" => 85),
);

// 按成绩升序排序
$sort_by_score = array();
foreach ($students as $key => $row) {
    $sort_by_score[$key] = $row["score"];
}
array_multisort($sort_by_score, SORT_ASC, $students);

// 输出结果
foreach ($students as $row) {
    echo $row["name"] . " " . $row["score"] . "\n";
}
?>

Dans le code ci-dessus, un tableau bidimensionnel $students est d'abord défini, où chaque tableau unidimensionnel contient le nom et les notes de l'étudiant. Nous attribuons ensuite à chaque tableau unidimensionnel une valeur clé unique afin que sa correspondance soit préservée après le tri.

Ensuite, nous utilisons une boucle foreach pour parcourir le tableau $students et générer le tableau $sort_by_score en fonction de la valeur de l'élément "score". Enfin, appelez la fonction array_multisort() pour trier le tableau $students selon le tableau $sort_by_score dans le code signifie l'ordre croissant.

  1. Utilisez la fonction usort()

La fonction usort() en PHP peut être utilisée pour personnaliser le tri du tableau, et vous pouvez définir les règles de tri en fonction de vos propres besoins. Dans un tableau à deux dimensions, nous pouvons utiliser cette fonction pour trier un élément en fonction de sa valeur.

Exemple de code :

<?php
$students = array(
    array("name" => "Tom", "score" => 80),
    array("name" => "Mary", "score" => 90),
    array("name" => "Jack", "score" => 85),
);

// 根据成绩排序
usort($students, function ($a, $b) {
    return $a["score"] < $b["score"] ? 1 : -1;
});

// 输出结果
foreach ($students as $row) {
    echo $row["name"] . " " . $row["score"] . "\n";
}
?>

Dans le code ci-dessus, nous utilisons la fonction usort() pour trier le tableau $students. Parmi eux, le deuxième paramètre passé est une fonction anonyme utilisée pour définir les règles de tri. Dans cet exemple, nous trions les étudiants par ordre décroissant en fonction de leurs notes et affichons les résultats.

  1. Utilisez la fonction uasort()

Contrairement à la fonction usort(), la fonction uasort() en PHP peut préserver la relation clé-valeur des éléments du tableau. Cela signifie qu'après le tri, la valeur clé de chaque élément est toujours la même que dans le tableau précédent.

Exemple de code :

<?php
$students = array(
    "Tom" => array("score" => 80),
    "Mary" => array("score" => 90),
    "Jack" => array("score" => 85),
);

// 根据成绩排序
uasort($students, function ($a, $b) {
    return $a["score"] < $b["score"] ? 1 : -1;
});

// 输出结果
foreach ($students as $name => $row) {
    echo $name . " " . $row["score"] . "\n";
}
?>

Dans le code ci-dessus, nous définissons un tableau associatif $students, où la valeur clé de chaque élément est le nom de l'étudiant et la valeur correspondante est sa note. Ensuite, utilisez la fonction uasort() pour trier le tableau $students, en préservant les relations clé-valeur. Enfin, les résultats triés sont affichés.

Résumé :

Il existe de nombreuses façons d'implémenter le tri de tableaux bidimensionnels en PHP. Cet article présente trois des méthodes les plus courantes : en utilisant la fonction array_multisort(), en utilisant la fonction usort() et en utilisant la fonction uasort(). . Lors de l'utilisation de ces fonctions pour le tri, nous pouvons définir les règles de tri en fonction de nos propres besoins, et conserver ou non les relations clé-valeur des éléments du tableau.

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