Maison >développement back-end >Problème PHP >Comment convertir un tableau bidimensionnel en unidimensionnel en php

Comment convertir un tableau bidimensionnel en unidimensionnel en php

PHPz
PHPzoriginal
2023-04-19 11:41:481037parcourir

Lors du développement de programmes PHP, nous devons souvent utiliser des données de tableau dans le code, et les tableaux bidimensionnels utilisés sont également très courants. Cependant, dans certains cas, nous devons convertir un tableau 2D en un tableau 1D. Ceci est très utile lors de l’écriture d’applications PHP. Vous trouverez ci-dessous les étapes détaillées pour convertir un tableau 2D en tableau 1D en PHP.

1. Utilisez foreach pour parcourir le tableau

Pour convertir un tableau à deux dimensions en un tableau à une dimension, vous devez d'abord utiliser l'instruction foreach pour parcourir les éléments du tableau. Voici l'exemple de code pour le parcours :

$two_dimensional_array = array(
    array('name' => '张三', 'age' => 20),
    array('name' => '李四', 'age' => 21),
    array('name' => '王五', 'age' => 22)
);

$one_dimensional_array = array();

foreach ($two_dimensional_array as $row) {
    foreach ($row as $key => $value){
        array_push($one_dimensional_array, $value);
    }
}

Ce code convertit un tableau 2D en un tableau 1D $one_dimensionnel_array. Dans le code ci-dessus, nous parcourons chaque ligne de $two_dimensionnelle_array et ajoutons la valeur de chaque ligne au tableau $one_dimensionnel_array.

2. Utilisez la fonction array_walk_recursive

En PHP, vous pouvez également utiliser la fonction array_walk_recursive pour convertir un tableau à deux dimensions en un tableau à une dimension. La fonction array_walk_recursive vous permet de parcourir tous les éléments d'un tableau multidimensionnel. Voici l'exemple de code :

$two_dimensional_array = array(
    array('name' => '张三', 'age' => 20),
    array('name' => '李四', 'age' => 21),
    array('name' => '王五', 'age' => 22)
);

$one_dimensional_array = array();

array_walk_recursive($two_dimensional_array, function ($item, $key) use (&$one_dimensional_array) {
    array_push($one_dimensional_array, $item);
});

Dans le code ci-dessus, nous avons utilisé la fonction array_walk_recursive pour convertir un tableau bidimensionnel en un tableau unidimensionnel $one_dimensionnel_array. Dans la fonction de rappel, nous ajoutons chaque élément au tableau $one_dimensionnel_array et utilisons le symbole de référence & dans les paramètres de la fonction de rappel, nous permettant de modifier le contenu du tableau lors de son traitement dans la fonction.

3. Utilisez la fonction array_column

PHP fournit une fonction appelée array_column, qui nous permet d'extraire toutes les valeurs d'une colonne spécifiée dans un tableau à deux dimensions et de la convertir en un tableau à une dimension. Voici l'exemple de code :

$two_dimensional_array = array(
    array('name' => '张三', 'age' => 20),
    array('name' => '李四', 'age' => 21),
    array('name' => '王五', 'age' => 22)
);

$one_dimensional_array = array_column($two_dimensional_array, 'name');

Dans le code ci-dessus, nous avons extrait la colonne 'name' de chaque ligne à l'aide de la fonction array_column et l'avons convertie en un nouveau tableau unidimensionnel. Cette fonction est très pratique, surtout lorsque vous devez extraire une colonne spécifique d'un tableau bidimensionnel plus grand.

Résumé :

Les trois méthodes ci-dessus permettent de convertir un tableau bidimensionnel PHP en tableau unidimensionnel. Vous pouvez choisir la méthode qui vous convient le mieux en fonction de vos besoins. Si vous devez traiter des tableaux plus petits, il est plus simple et plus rapide d'utiliser la méthode foreach. Si vous avez affaire à des tableaux de grande taille, l'utilisation de array_walk_recursive ou array_column présente également des avantages, qui peuvent améliorer l'efficacité de l'exécution.

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