Maison >développement back-end >Problème PHP >Comment convertir un tableau bidimensionnel en tableau unidimensionnel en php

Comment convertir un tableau bidimensionnel en tableau unidimensionnel en php

PHPz
PHPzoriginal
2023-04-23 09:10:491069parcourir

En PHP, un tableau bidimensionnel est une structure de données très courante. Mais dans certains cas, il est nécessaire de convertir un tableau à deux dimensions en un tableau à une dimension. Cet article décrit plusieurs façons d'obtenir cette fonctionnalité.

Méthode 1 : utiliser la boucle foreach

L'une des méthodes les plus élémentaires consiste à utiliser une boucle foreach pour parcourir l'intégralité du tableau bidimensionnel et ajouter chaque valeur au tableau unidimensionnel. Le code est le suivant :

$twoDimensionalArray = array(
    array('fruit'=>'apple', 'color'=>'red'),
    array('fruit'=>'banana', 'color'=>'yellow'),
    array('fruit'=>'grape', 'color'=>'purple')
);

$oneDimensionalArray = array();

foreach($twoDimensionalArray as $key=>$value){
    foreach($value as $k=>$v){
        $oneDimensionalArray[] = $v;
    }
}

print_r($oneDimensionalArray);

//输出结果如下:
Array
(
    [0] => apple
    [1] => red
    [2] => banana
    [3] => yellow
    [4] => grape
    [5] => purple
)

Méthode 2 : Utilisation de la fonction array_merge

Une autre méthode consiste à utiliser la fonction array_merge, qui fusionne deux ou plusieurs tableaux en un seul tableau. À l'aide de cette fonction, vous pouvez convertir chaque ligne d'un tableau 2D en un tableau 1D et les fusionner en un seul tableau. Le code ressemble à ceci :

$twoDimensionalArray = array(
    array('fruit'=>'apple', 'color'=>'red'),
    array('fruit'=>'banana', 'color'=>'yellow'),
    array('fruit'=>'grape', 'color'=>'purple')
);

$oneDimensionalArray = array();

foreach($twoDimensionalArray as $value){
    $oneDimensionalArray = array_merge($oneDimensionalArray, array_values($value));
}

print_r($oneDimensionalArray);

//输出结果如下:
Array
(
    [0] => apple
    [1] => red
    [2] => banana
    [3] => yellow
    [4] => grape
    [5] => purple
)

Troisième méthode : Utilisation de la fonction array_reduce

La dernière méthode consiste à utiliser la fonction array_reduce, qui applique une fonction de rappel à chaque valeur du tableau et renvoie une valeur unique. Dans cet exemple, vous pouvez utiliser la fonction array_reduce pour convertir chaque ligne d'un tableau à deux dimensions en un tableau à une dimension et fusionner les tableaux unidimensionnels de toutes les lignes en un seul grand tableau. Le code est le suivant :

$twoDimensionalArray = array(
    array('fruit'=>'apple', 'color'=>'red'),
    array('fruit'=>'banana', 'color'=>'yellow'),
    array('fruit'=>'grape', 'color'=>'purple')
);

$oneDimensionalArray = array_reduce($twoDimensionalArray,function($carry,$item){
    return array_merge($carry,array_values($item));
},array());

print_r($oneDimensionalArray);

//输出结果如下:
Array
(
    [0] => apple
    [1] => red
    [2] => banana
    [3] => yellow
    [4] => grape
    [5] => purple
)

Résumé :

Les trois méthodes ci-dessus peuvent nous aider à convertir un tableau bidimensionnel en un tableau unidimensionnel. Si vous traitez de grandes quantités de données, vous devrez peut-être tester leurs performances et leur efficacité. Choisissez la méthode qui convient le mieux à notre tâche en comparant leurs performances et leur adéquation.

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