Maison  >  Article  >  développement back-end  >  PHP convertit un tableau multidimensionnel en tableau unidimensionnel

PHP convertit un tableau multidimensionnel en tableau unidimensionnel

PHPz
PHPzoriginal
2023-05-11 10:37:36595parcourir

PHP est un langage de programmation très flexible et polyvalent. Parmi eux, le tableau multidimensionnel est l’une des structures de données les plus courantes en programmation. Cependant, dans certains cas, nous devons aplatir les tableaux multidimensionnels en tableaux unidimensionnels pour un traitement unifié. Dans cet article, nous présenterons en détail comment convertir un tableau multidimensionnel en un tableau unidimensionnel.

  1. Utilisez la fonction array_walk_recursive() pour obtenir un aplatissement de tableau multidimensionnel

En PHP, la fonction array_walk_recursive() peut parcourir chaque élément dans un tableau multidimensionnel, puis convertissez-le en un tableau unidimensionnel. Voici un exemple de code qui utilise la fonction array_walk_recursive() pour convertir un tableau multidimensionnel en un tableau unidimensionnel :

function array_flatten($array) {
    $flatten = [];
    array_walk_recursive($array, function($value) use(&$flatten) {
        $flatten[] = $value;
    });
    return $flatten;
}

L'exemple de code utilise une fonction de fermeture pour parcourir un tableau multidimensionnel . La fonction array_walk_recursive() parcourt un tableau multidimensionnel, ajoute chaque élément à un nouveau tableau unidimensionnel et renvoie enfin le nouveau tableau.

  1. Utilisez la fonction array_reduce() pour obtenir un aplatissement de tableau multidimensionnel

En plus de la fonction array_walk_recursive(), array_reduce() de PHP La fonction peut également être utilisée. Implémenter l'aplatissement des tableaux multidimensionnels. Voici un exemple de code qui utilise la fonction array_reduce() pour convertir un tableau multidimensionnel en un tableau unidimensionnel :

function array_flatten($array) {
    return array_reduce($array, function($result, $item) {
        if (is_array($item)) {
            $result = array_merge($result, array_flatten($item));
        } else {
            $result[] = $item;
        }
        return $result;
    }, []);
}

L'exemple de code utilise une fonction récursive pour parcourir un tableau multidimensionnel . En jugeant si l'élément est un tableau, chaque élément du tableau est parcouru et fusionné, et enfin le tableau multidimensionnel est converti en un tableau unidimensionnel.

  1. Utilisez la boucle foreach pour aplatir les tableaux multidimensionnels

Si vous n'êtes pas familier avec la récursivité et la programmation fonctionnelle, vous pouvez utiliser la méthode de la boucle foreach pour aplatir un tableau multidimensionnel plat. Voici un exemple de code qui utilise une boucle foreach pour convertir un tableau multidimensionnel en un tableau unidimensionnel :

function array_flatten($array) {
    $flatten = [];
    foreach ($array as $value) {
        if (is_array($value)) {
            $flatten = array_merge($flatten, array_flatten($value));
        } else {
            $flatten[] = $value;
        }
    }
    return $flatten;
}

L'exemple de code utilise une boucle foreach pour parcourir le tableau multidimensionnel, et effectue ensuite un parcours et une conversion supplémentaires par récursivité. Lors du passage vers un élément qui est un tableau, continuez à parcourir et à traiter l'élément ; lors du passage vers un élément qui n'est pas un tableau, ajoutez l'élément à un nouveau tableau unidimensionnel.

Summary

Il existe de nombreuses méthodes parmi lesquelles choisir pour convertir un tableau multidimensionnel en un tableau unidimensionnel en PHP, notamment en utilisant la fonction array_walk_recursive(), array_reduce( ), et en utilisant les boucles Recursion et foreach, etc. La méthode à choisir doit être déterminée en fonction de la situation réelle et utilisée de manière flexible pour obtenir le meilleur effet et la meilleure clarté du code.

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