Maison > développement back-end > tutoriel php > Comment puis-je aplatir efficacement un tableau multidimensionnel à touches numériques en PHP ?

Comment puis-je aplatir efficacement un tableau multidimensionnel à touches numériques en PHP ?

Susan Sarandon
Libérer: 2024-12-12 21:53:14
original
316 Les gens l'ont consulté

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

Simplifier des tableaux multidimensionnels en structures linéaires

La conversion de tableaux multidimensionnels en leurs homologues unidimensionnels peut souvent être une tâche ardue, en particulier lorsqu'il s'agit de tableaux contenant uniquement des clés numériques. Cependant, il existe une solution simple mais élégante pour aplatir ces structures, en utilisant les fonctions de tableau de PHP.

Réponse expliquée

La solution utilise la fonction array_reduce() en conjonction avec array_merge(). array_reduce() parcourt chaque élément du tableau, appliquant une fonction définie par l'utilisateur pour accumuler une valeur réduite finale. Dans ce cas, nous passons la fonction array_merge(), qui combine deux tableaux en un seul tableau.

En spécifiant un tableau vide comme valeur initiale de l'opération de réduction, nous nous assurons que le résultat final est un tableau contenant tous les éléments du tableau multidimensionnel. Chaque itération concatène le sous-tableau actuel avec l'accumulateur, aplatissant ainsi efficacement l'entrée.

Exemple de mise en œuvre

Considérez le tableau multidimensionnel fourni dans la question :

$array = [
    [0 => 'foo', 1 => 'bar', 2 => 'hello'],
    [0 => 'world', 1 => 'love'],
    [0 => 'stack', 1 => 'overflow', 2 => 'yep', 3 => 'man'],
];
Copier après la connexion

Pour aplatir ce tableau, nous pouvons simplement utiliser ce qui suit code :

$result = array_reduce($array, 'array_merge', []);
Copier après la connexion

Cela produirait le tableau unidimensionnel souhaité :

$result = [
    'foo', 'bar', 'hello', 'world', 'love', 'stack', 'overflow', 'yep', 'man'
];
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal