Comment convertir un tableau à deux dimensions en un tableau à une dimension en php

PHPz
Libérer: 2023-04-23 10:29:16
original
1497 Les gens l'ont consulté

Lors de certaines opérations de traitement de tableaux, il est parfois nécessaire de convertir des tableaux multidimensionnels en tableaux unidimensionnels. Cet article présentera quelques méthodes pour convertir des tableaux bidimensionnels en tableaux unidimensionnels en php.

Méthode 1 : parcours de boucle

Une méthode simple consiste à utiliser une boucle foreach pour parcourir un tableau à deux dimensions et ajouter ses éléments à un tableau à une dimension.

function array2To1($arr2){
    $arr1 = array();
    foreach($arr2 as $v){
        foreach($v as $v2){
            $arr1[] = $v2;
        }
    }
    return $arr1;
}
Copier après la connexion

Exemple d'utilisation :

$arr2 = array(array(1,2),array(3,4),array(5,6));
$arr1 = array2To1($arr2);
print_r($arr1);
// Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Copier après la connexion
Copier après la connexion

Méthode 2 : Récursion

Une autre méthode couramment utilisée consiste à utiliser la récursivité pour traiter des tableaux multidimensionnels et à les décomposer couche par couche en tableaux unidimensionnels.

function array2To1($arr2){
    $arr1 = array();
    foreach($arr2 as $v){
        if(is_array($v)){
            $arr1 = array_merge($arr1,array2To1($v));
        }else{
            $arr1[] = $v;
        }
    }
    return $arr1;
}
Copier après la connexion

Exemple d'utilisation :

$arr2 = array(array(1,2),3,array(array(4,5),6),7);
$arr1 = array2To1($arr2);
print_r($arr1);
// Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )
Copier après la connexion

Méthode 3 : Utiliser les fonctions intégrées de PHP

PHP fournit certaines fonctions intégrées pour traiter les tableaux multidimensionnels, notamment array_reduce(), array_merge_recursive() et call_user_func_array(), etc.

function array2To1($arr2){
    return call_user_func_array('array_merge_recursive', $arr2);
}
Copier après la connexion

Exemple d'utilisation :

$arr2 = array(array(1,2),array(3,4),array(5,6));
$arr1 = array2To1($arr2);
print_r($arr1);
// Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Copier après la connexion
Copier après la connexion

Selon les tests réels, l'utilisation de la troisième méthode prend plus de temps, cette méthode n'est donc pas recommandée lors du traitement de grands tableaux.

Résumé :

Chaque méthode a ses propres avantages et inconvénients, et la méthode à choisir dépend en fin de compte des besoins et des scénarios spécifiques. J'espère que cet article pourra vous être utile. Si vous avez une meilleure méthode, partagez-la dans la zone de commentaires.

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