Maison >développement back-end >tutoriel php >Comment convertir un tableau 2D en tableau 1D en PHP

Comment convertir un tableau 2D en tableau 1D en PHP

WBOY
WBOYoriginal
2023-07-07 18:42:032573parcourir

Comment convertir un tableau bidimensionnel en tableau unidimensionnel en PHP

Dans le développement PHP, nous rencontrons souvent des scénarios dans lesquels nous devons convertir un tableau bidimensionnel en un tableau unidimensionnel. Cet article présentera plusieurs méthodes courantes pour vous aider à effectuer cette tâche facilement.

Méthode 1 : Utiliser le parcours en boucle

La méthode la plus simple et la plus directe consiste à utiliser une boucle pour parcourir le tableau à deux dimensions et à ajouter chaque élément à un nouveau tableau à une dimension. Voici un exemple de code utilisant cette méthode :

function flattenArray($array) {
    $result = [];
    foreach ($array as $subArray) {
        foreach ($subArray as $element) {
            $result[] = $element;
        }
    }
    return $result;
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);

Exécutez le code ci-dessus, le résultat devrait être :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)

Méthode 2 : utilisez la fonction array_reduce

PHP fournit une puissante fonction array_reduce, qui peut être utilisée pour convertir deux -tableau dimensionnel en tableau unidimensionnel. La fonction array_reduce accepte un tableau à traiter et une fonction de rappel comme paramètres, qui est utilisée pour décider comment réduire progressivement les valeurs du tableau à une valeur unique. Voici un exemple de code utilisant la fonction array_reduce :

function flattenArray($array) {
    return array_reduce($array, function($carry, $item) {
        return array_merge($carry, $item);
    }, []);
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);

Exécutez le code ci-dessus et la sortie devrait être le même tableau unidimensionnel.

Méthode 3 : Utiliser la fonction array_merge

La fonction array_merge peut également être utilisée pour convertir un tableau bidimensionnel en un tableau unidimensionnel. La fonction array_merge fusionne plusieurs tableaux en un seul tableau et renvoie le résultat. Voici un exemple de code utilisant la fonction array_merge :

function flattenArray($array) {
    return call_user_func_array('array_merge', $array);
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);

Exécutez le code ci-dessus et la sortie devrait être le même tableau unidimensionnel.

Méthode 4 : utilisez la fonction array_walk_recursive

La fonction array_walk_recursive est utilisée pour parcourir de manière récursive chaque élément du tableau et effectuer un traitement de rappel sur celui-ci. Voici un exemple de code utilisant la fonction array_walk_recursive :

function flattenArray(&$array) {
    $result = [];
    array_walk_recursive($array, function($item) use (&$result) {
        $result[] = $item;
    });
    return $result;
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);

Exécutez le code ci-dessus et la sortie devrait être le même tableau unidimensionnel.

Résumé

Cet article présente quatre méthodes courantes pour convertir un tableau à deux dimensions en un tableau à une dimension en PHP. Choisir une méthode adaptée aux besoins de votre projet et à vos habitudes personnelles peut améliorer la lisibilité et l'efficacité de votre code. La première de ces méthodes est la plus courante et la plus simple, mais d’autres méthodes peuvent s’avérer plus efficaces dans certains scénarios. J'espère que cet article pourra vous aider à mieux comprendre et appliquer ces méthodes pour convertir facilement des tableaux bidimensionnels en tableaux unidimensionnels pendant le développement.

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