Maison >développement back-end >tutoriel php >Comment puis-je aplatir un tableau imbriqué en PHP ?

Comment puis-je aplatir un tableau imbriqué en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-23 08:31:18546parcourir

How Can I Flatten a Nested Array in PHP?

Transformation d'un tableau imbriqué en une seule dimension

Dans ce scénario de programmation, vous rencontrez un tableau composé de sous-tableaux à un seul élément. La tâche à accomplir est de convertir cette structure multidimensionnelle en un tableau unidimensionnel.

Approche native de PHP

PHP fournit une fonction pratique appelée array_map qui peut gérer cette conversion efficacement. Voici un exemple :

$array = [[88868], [88867], [88869], [88870]];
$oneDimensionalArray = array_map('current', $array);

// Output: [88868, 88867, 88869, 88870]

La fonction array_map prend une fonction de rappel comme premier argument et un tableau comme deuxième argument. Dans ce cas, la fonction de rappel current récupère l'élément actuel de chaque sous-tableau, aplatissant ainsi le tableau.

Généralisation pour les sous-tableaux multi-éléments

Si les sous-tableaux contenaient plusieurs éléments, l’approche ci-dessus ne renverrait que le premier élément de chaque sous-tableau. Pour résoudre ce scénario, vous pouvez utiliser la fonction call_user_func_array :

$oneDimensionalArray = call_user_func_array('array_merge', $array);

// Output: [88868, 88867, 88869, 88870]

La fonction call_user_func_array appelle une fonction de rappel avec un tableau d'arguments, dans ce cas, le tableau de sous-tableaux. La fonction array_merge combine tous les éléments en un seul tableau, entraînant la conversion souhaitée.

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