Maison  >  Article  >  développement back-end  >  Comment monter un tableau à deux dimensions en php

Comment monter un tableau à deux dimensions en php

王林
王林original
2023-05-19 13:50:08652parcourir

Apprenez le développement PHP en profondeur, de nombreux problèmes courants doivent être résolus. Quelque chose d'aussi basique que trier un tableau à deux dimensions par ordre croissant. Dans cet article, nous allons explorer comment trier un tableau 2D par ordre croissant en PHP.

Un tableau bidimensionnel est un type de tableau PHP qui contient un ensemble ordonné de valeurs. Il a plus de dimensions qu'un tableau unidimensionnel et peut être imbriqué dans d'autres tableaux. Cela rend les tableaux 2D idéaux pour gérer de grandes quantités de données.

En PHP, on peut trier le tableau à l'aide de la fonction sort, qui trie le tableau selon la table de codes ASCII par ordre croissant, et inversement par ordre décroissant. Pour les tableaux unidimensionnels, il est facile de trier à l'aide de la fonction de tri, mais pour les tableaux bidimensionnels, un traitement supplémentaire est requis.

Pour trier un tableau bidimensionnel, nous devons spécifier une "clé" pour trier chaque sous-tableau. Une clé est un attribut d'un tableau utilisé à des fins de comparaison et de tri. Dans ce cas, la « clé » peut être n'importe quel attribut du tableau, tel que le nom, la date, le prix ou l'ID, etc.

Un moyen simple consiste à utiliser la fonction PHP array_column() qui recherche un nom de clé spécifique dans un tableau à deux dimensions. Cette fonction renvoie un tableau contenant toutes les valeurs de la clé spécifiée. Sélectionnez la clé à partir de laquelle nous voulons trier et nous pouvons utiliser la fonction array_multisort() pour trier la clé par ordre croissant.

Ce qui suit est un exemple de code pour la manipulation de tableaux, qui utilise array_column() et array_multisort() pour trier un tableau bidimensionnel par ordre croissant.

<?php
$employees = array(
  array('name' => 'John Smith', 'age' => 28, 'salary' => 3000),
  array('name' => 'Anna Black', 'age' => 33, 'salary' => 2500),
  array('name' => 'Peter Brown', 'age' => 24, 'salary' => 2200),
  array('name' => 'Emma Rose', 'age' => 29, 'salary' => 3500),
);

// 排序前的数组
echo "排序前:<br>";
print_r($employees);

// 获取所有员工的工资
$salary = array_column($employees, 'salary');

// 按升序排序员工工资
array_multisort($salary, SORT_ASC, $employees);

// 排序后的数组
echo "排序后:<br>";
print_r($employees);
?>

Dans l'exemple de code ci-dessus, nous définissons d'abord un tableau bidimensionnel contenant des données telles que le nom, l'âge et le salaire de l'employé. Nous utilisons la fonction print_r() pour afficher les résultats avant le tri. Ensuite, nous utilisons la fonction array_column() pour obtenir les valeurs salariales de tous les employés et les stocker dans une variable. Enfin, nous utilisons la fonction array_multisort() pour trier cette variable par ordre croissant et trier le tableau d'origine dans le même ordre. Nous utilisons à nouveau la fonction print_r() pour afficher les résultats triés.

Cet exemple de code produira les résultats suivants :

排序前:
Array
(
    [0] => Array
        (
            [name] => John Smith
            [age] => 28
            [salary] => 3000
        )

    [1] => Array
        (
            [name] => Anna Black
            [age] => 33
            [salary] => 2500
        )

    [2] => Array
        (
            [name] => Peter Brown
            [age] => 24
            [salary] => 2200
        )

    [3] => Array
        (
            [name] => Emma Rose
            [age] => 29
            [salary] => 3500
        )

)

排序后:
Array
(
    [0] => Array
        (
            [name] => Peter Brown
            [age] => 24
            [salary] => 2200
        )

    [1] => Array
        (
            [name] => Anna Black
            [age] => 33
            [salary] => 2500
        )

    [2] => Array
        (
            [name] => John Smith
            [age] => 28
            [salary] => 3000
        )

    [3] => Array
        (
            [name] => Emma Rose
            [age] => 29
            [salary] => 3500
        )

)

Comme indiqué ci-dessus, grâce à la coopération des fonctions array_column() et array_multisort(), nous pouvons facilement trier le tableau bidimensionnel par ordre croissant.

Pour les autres types de tri, modifiez simplement le premier paramètre de la fonction array_multisort() pour utiliser un attribut différent.

En PHP, il existe de nombreuses fonctions et méthodes intéressantes qui peuvent simplifier notre charge de travail. La maîtrise de ces connaissances vous aidera à traiter plus efficacement de grandes quantités de données, améliorant ainsi vos capacités de développement 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!

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