Maison  >  Article  >  développement back-end  >  Tableau bidimensionnel PHP en nombre unidimensionnel

Tableau bidimensionnel PHP en nombre unidimensionnel

WBOY
WBOYoriginal
2023-05-11 09:45:50469parcourir

PHP est un langage de script populaire largement utilisé dans le développement Web, en particulier dans le développement back-end. Dans le développement PHP, le tableau est un type de données très courant. Au cours du processus de développement, il est parfois nécessaire de convertir un tableau bidimensionnel en un tableau unidimensionnel, ce qui constitue également une compétence de base en matière d'exploitation de tableau. Dans cet article, je vais vous expliquer comment convertir un tableau 2D en tableau 1D en utilisant PHP.

1. Qu'est-ce qu'un tableau bidimensionnel ?

En PHP, un tableau est une collection ordonnée d'éléments, chaque élément possède une clé (clé) unique qui peut être utilisée pour accéder à l'élément. Un tableau bidimensionnel fait référence à un ou plusieurs tableaux imbriqués dans un tableau. Ces tableaux imbriqués peuvent être des tableaux du même type ou des tableaux de types différents. En PHP, les tableaux imbriqués peuvent être utilisés pour représenter des structures de données multidimensionnelles, telles que des matrices, des arbres, etc.

Ce qui suit est un exemple de tableau bidimensionnel :

$students = array(
    array("name" => "张三", "age" => 20, "score" => 80),
    array("name" => "李四", "age" => 21, "score" => 85),
    array("name" => "王五", "age" => 22, "score" => 90)
);

2. Pourquoi avez-vous besoin de convertir un tableau bidimensionnel en un tableau unidimensionnel ?

Pendant le processus de développement, il est parfois nécessaire de convertir un tableau bidimensionnel en un tableau unidimensionnel. Voici quelques exemples pratiques :

  1. Conversion des résultats d'une requête de base de données

Lors de l'interrogation d'une base de données à l'aide de PHP, les résultats de la requête sont généralement renvoyés sous la forme d'un tableau à deux dimensions. Si vous souhaitez effectuer des statistiques ou des opérations de tri sur les résultats d'une requête, vous devrez peut-être convertir le tableau à deux dimensions en un tableau à une dimension. Par exemple, lorsque vous interrogez le score moyen d'un élève, vous devez convertir le tableau bidimensionnel imbriqué en un tableau unidimensionnel, puis calculer le score moyen.

  1. Traitement des données JSON

Lors de l'utilisation de données au format JSON, vous devez parfois convertir des tableaux bidimensionnels imbriqués en tableaux unidimensionnels pour faciliter l'utilisation.

  1. Simplifier les opérations sur les tableaux

Pour certaines opérations sur les tableaux simples, l'utilisation de tableaux unidimensionnels sera plus simple, plus efficace et plus facile à comprendre. Par exemple, l'utilisation d'un tableau unidimensionnel pour stocker les scores des élèves facilite l'exécution d'opérations telles que le tri, la recherche et le remplacement.

3. Comment convertir un tableau bidimensionnel en un tableau unidimensionnel ?

En PHP, il existe plusieurs façons de convertir un tableau 2D en tableau 1D. Voici plusieurs méthodes d'implémentation :

  1. Utiliser l'implémentation de la boucle foreach

Vous pouvez utiliser la structure de boucle foreach de PHP pour parcourir le tableau à deux dimensions et insérer chaque élément dans le tableau à une dimension. Voici un exemple de code :

$students = array(
    array("name" => "张三", "age" => 20, "score" => 80),
    array("name" => "李四", "age" => 21, "score" => 85),
    array("name" => "王五", "age" => 22, "score" => 90)
);

$flat_students = array(); // 定义一个空的一维数组

foreach ($students as $items) { // 遍历二维数组
    foreach ($items as $key => $value) { // 遍历内层数组
        $flat_students[$key][] = $value; // 将元素插入到一维数组中
    }
}

print_r($flat_students); // 输出一维数组

Le résultat de sortie est le suivant :

Array
(
    [name] => Array
        (
            [0] => 张三
            [1] => 李四
            [2] => 王五
        )

    [age] => Array
        (
            [0] => 20
            [1] => 21
            [2] => 22
        )

    [score] => Array
        (
            [0] => 80
            [1] => 85
            [2] => 90
        )

)
  1. Utilisation de la fonction array_column() pour implémenter

PHP fournit une fonction array_column() qui peut extraire la valeur correspondant à un nom de clé dans le tableau à deux dimensions et renvoie-le Un tableau à une dimension. Voici un exemple de code :

$students = array(
    array("name" => "张三", "age" => 20, "score" => 80),
    array("name" => "李四", "age" => 21, "score" => 85),
    array("name" => "王五", "age" => 22, "score" => 90)
);

$names = array_column($students, 'name');
$ages = array_column($students, 'age');
$scores = array_column($students, 'score');

print_r($names); // 输出一维数组
print_r($ages); // 输出一维数组
print_r($scores); // 输出一维数组

Le résultat est le suivant :

Array
(
    [0] => 张三
    [1] => 李四
    [2] => 王五
)
Array
(
    [0] => 20
    [1] => 21
    [2] => 22
)
Array
(
    [0] => 80
    [1] => 85
    [2] => 90
)
  1. Utilisation de la fonction array_reduce()

La fonction array_reduce() en PHP peut parcourir les éléments du tableau et les réduire à une seule valeur, puis cette valeur est revenue. Vous pouvez convertir un tableau à deux dimensions en un tableau à une dimension. Voici un exemple de code :

$students = array(
    array("name" => "张三", "age" => 20, "score" => 80),
    array("name" => "李四", "age" => 21, "score" => 85),
    array("name" => "王五", "age" => 22, "score" => 90)
);

$keys = array('name', 'age', 'score');

$flat_students = array_reduce($students, function ($result, $item) use ($keys) {
    foreach ($keys as $key) {
        $result[$key][] = $item[$key];
    }
    return $result;
}, array());

print_r($flat_students); // 输出一维数组

Le résultat de sortie est le même que celui de la première méthode.

IV. Résumé

Cet article présente plusieurs méthodes pour convertir un tableau à deux dimensions en un tableau à une dimension en PHP, notamment en utilisant la boucle foreach, la fonction array_column(), la fonction array_reduce(), etc. En fonction des besoins réels, différentes méthodes peuvent être choisies. La maîtrise de ces compétences peut nous permettre de traiter les données des tableaux plus efficacement et d'améliorer l'efficacité du codage.

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