Maison  >  Article  >  développement back-end  >  Comment convertir un tableau bidimensionnel en tableau unidimensionnel en php

Comment convertir un tableau bidimensionnel en tableau unidimensionnel en php

PHPz
PHPzoriginal
2023-04-20 10:12:351551parcourir

PHP est un langage de programmation très populaire doté de puissantes capacités de gestion des tableaux. En PHP, un tableau bidimensionnel est un type de données très courant, composé de plusieurs tableaux unidimensionnels. Lorsque nous devons convertir un tableau bidimensionnel en un tableau unidimensionnel, nous devons utiliser certaines fonctions et techniques spécifiques. Ci-dessous, nous présenterons plusieurs méthodes couramment utilisées.

Méthode 1 : utiliser une boucle foreach

La première méthode consiste à utiliser une boucle foreach pour parcourir le tableau à deux dimensions et ajouter chaque élément à un nouveau tableau à une dimension. Voici l'exemple de code :

$two_dim_array = array(
  array('apple', 'banana', 'cherry'),
  array('dog', 'cat', 'rat'),
  array('red', 'green', 'blue')
);

$one_dim_array = array();
foreach ($two_dim_array as $key => $value) {
  foreach ($value as $k => $v) {
    array_push($one_dim_array, $v);
  }
}
print_r($one_dim_array);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => dog
    [4] => cat
    [5] => rat
    [6] => red
    [7] => green
    [8] => blue
)

Méthode 2 : utilisez la fonction array_merge()

La deuxième méthode consiste à utiliser la fonction array_merge() pour fusionner plusieurs tableaux unidimensionnels en un nouveau. tableau dimensionnel. Nous pouvons obtenir un nouveau tableau unidimensionnel en parcourant le tableau bidimensionnel et en fusionnant chaque tableau unidimensionnel à l'aide de la fonction array_merge(). Voici l'exemple de code :

$two_dim_array = array(
  array('apple', 'banana', 'cherry'),
  array('dog', 'cat', 'rat'),
  array('red', 'green', 'blue')
);

$one_dim_array = array();
foreach ($two_dim_array as $key => $value) {
  $one_dim_array = array_merge($one_dim_array, $value);
}
print_r($one_dim_array);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => dog
    [4] => cat
    [5] => rat
    [6] => red
    [7] => green
    [8] => blue
)

Troisième méthode : utilisez la fonction array_reduce()

La troisième méthode consiste à utiliser la fonction array_reduce() pour convertir un tableau à deux dimensions en un tableau à une dimension. tableau. La fonction array_reduce() accepte un tableau et une fonction de rappel comme paramètres. La fonction de rappel itère et calcule les valeurs du tableau une par une, et renvoie finalement une valeur unique. Nous pouvons utiliser un tableau vide comme valeur initiale et fusionner chaque tableau unidimensionnel dans un nouveau tableau unidimensionnel dans la fonction de rappel. Voici l'exemple de code :

$two_dim_array = array(
  array('apple', 'banana', 'cherry'),
  array('dog', 'cat', 'rat'),
  array('red', 'green', 'blue')
);

$one_dim_array = array_reduce($two_dim_array, function($carry, $item) {
  return array_merge($carry, $item);
}, array());
print_r($one_dim_array);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => dog
    [4] => cat
    [5] => rat
    [6] => red
    [7] => green
    [8] => blue
)

Résumé

Ci-dessus sont les trois méthodes courantes en PHP pour convertir un tableau à deux dimensions en un tableau à une dimension. L'utilisation de la boucle foreach et de la fonction array_merge() nécessite toutes deux de parcourir le tableau, tandis que l'utilisation de la fonction array_reduce() peut être plus concise, mais cela peut dérouter certains développeurs. Par conséquent, dans le développement réel, nous pouvons choisir la méthode la plus appropriée en fonction de nos besoins pour améliorer l'efficacité du développement.

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