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

Comment convertir un tableau bidimensionnel indexé php en unidimensionnel

WBOY
WBOYoriginal
2023-05-11 10:28:06418parcourir

Dans la programmation PHP, les tableaux sont généralement un outil important pour stocker et traiter les données. Dans certains cas, nous devons convertir un tableau bidimensionnel en un tableau unidimensionnel pour faciliter le traitement et l'utilisation ultérieurs. Cet article expliquera comment utiliser le langage de programmation PHP pour implémenter cette fonction.

Tout d'abord, nous devons définir un tableau bidimensionnel à titre d'exemple. Voici un exemple simple :

$cars = array(
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
);

Le tableau ci-dessus représente quatre voitures, y compris le nom de la voiture, le volume des ventes et l'inventaire. Ensuite, nous montrerons plusieurs méthodes pour convertir un tableau à deux dimensions en un tableau à une dimension.

  1. Utilisation d'une boucle foreach

Nous pouvons utiliser une boucle foreach pour parcourir chaque élément du tableau bidimensionnel et le convertir en un élément du tableau unidimensionnel. Voici l'implémentation du code :

$flat_cars = array();
foreach($cars as $car) {
  foreach($car as $detail) {
    $flat_cars[] = $detail;
  }
}

Dans le code ci-dessus, un tableau vide $flat_cars sera créé. Grâce à la boucle foreach, chaque élément $car du tableau bidimensionnel $cars est parcouru et décomposé en un tableau unidimensionnel $detail. Ensuite, ajoutez les éléments de $detail au tableau $flat_cars. Enfin, $flat_cars devient un tableau unidimensionnel, où chaque élément correspond à un élément du tableau bidimensionnel original $cars.

  1. Utilisez la fonction array_reduce

La fonction array_reduce de PHP peut accumuler un tableau via la fonction de rappel spécifiée et renvoyer le dernier résultat accumulé. Nous pouvons utiliser cette fonction pour convertir un tableau à deux dimensions en un tableau à une dimension.

$flat_cars = array_reduce($cars, 'array_merge', array());

Dans le code ci-dessus, nous appelons d'abord la fonction array_reduce, transmettons le tableau d'origine $cars et spécifions une fonction de rappel 'array_merge' pour le calcul cumulatif. La fonction 'array_merge' sera combinée en tant que paramètre dans la fonction array_reduce. Enfin, en spécifiant un tableau vide comme troisième paramètre de la fonction array_reduce, le tableau $cars peut être converti en un tableau unidimensionnel $flat_cars.

  1. Utilisez la fonction array_column

La fonction array_column est une fonction très pratique après PHP 5.5. Elle peut extraire la valeur d'une colonne spécifique du tableau et renvoyer un tableau unidimensionnel. Nous pouvons l'utiliser pour convertir un tableau à deux dimensions en un tableau à une dimension.

$flat_cars = array_column($cars, null, 0);

Dans le code ci-dessus, nous appelons la fonction array_column, en passant le tableau d'origine $cars et le deuxième paramètre est nul. Le premier paramètre $cars indique que le tableau de colonnes spécifiques doit être extrait, tandis que le deuxième paramètre null indique que la ligne entière de données sera extraite. Le dernier paramètre 0 signifie que le premier élément de la colonne spécifiée (c'est-à-dire le nom de la voiture) sera extrait et qu'un tableau unidimensionnel sera renvoyé. Ce tableau unidimensionnel contient tous les éléments du tableau bidimensionnel $cars.

Résumé

En programmation PHP, convertir un tableau à deux dimensions en un tableau à une dimension est une opération extrêmement courante. Dans cet article, nous présentons trois méthodes pour réaliser cette fonction, en utilisant la boucle foreach, la fonction array_reduce et la fonction array_column. Chaque méthode a ses scénarios applicables, ses avantages et ses inconvénients, et vous devez choisir en fonction de la situation réelle lors de son utilisation.

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