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
Libérer: 2023-04-23 09:33:11
original
1068 Les gens l'ont consulté

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
)
Copier après la connexion

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
)
Copier après la connexion

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
)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal