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'], ];
Pour aplatir ce tableau, nous pouvons simplement utiliser ce qui suit code :
$result = array_reduce($array, 'array_merge', []);
Cela produirait le tableau unidimensionnel souhaité :
$result = [ 'foo', 'bar', 'hello', 'world', 'love', 'stack', 'overflow', 'yep', 'man' ];
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!