Maison >développement back-end >tutoriel php >Comment puis-je aplatir un tableau à clés numériques multidimensionnelles en PHP ?

Comment puis-je aplatir un tableau à clés numériques multidimensionnelles en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 02:54:09934parcourir

How Can I Flatten a Multidimensional Numeric-Keyed Array in PHP?

Aplatir des tableaux multidimensionnels en une seule dimension

Transformer un tableau multidimensionnel en un tableau unidimensionnel peut présenter un défi, en particulier lorsque le tableau d'origine contient uniquement des touches numériques. Contrairement à d'autres approches qui prennent en charge des clés variables, cette question répond spécifiquement à la nécessité d'aplatir des tableaux multidimensionnels avec de simples touches numériques.

Solution :

La solution à ce problème réside dans en utilisant la fonction array_reduce() avec array_merge() et un tableau vide comme argument initial. Cela combine efficacement tous les sous-tableaux de manière récursive en un seul tableau aplati.

Code :

array_reduce($array, 'array_merge', array())

Explication :

  • array_reduce() applique de manière itérative une fonction définie par l'utilisateur (array_merge dans ce cas) aux éléments du tableau, ainsi que la valeur initiale spécifiée (array()).
  • array_merge fusionne l'élément actuel (un sous-tableau) avec le résultat aplati obtenu jusqu'à présent.
  • Le tableau vide comme argument initial sert de point de départ à la fusion récursive processus.

Exemple :

Considérez le tableau multidimensionnel suivant :

$array = array(
    array(1, 2, 3),
    array(4, 5, 6)
);

Application de la solution d'aplatissement :

$flattenedArray = array_reduce($array, 'array_merge', array());

Le $flattenedArray résultant sera :

array(1, 2, 3, 4, 5, 6)

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