Maison  >  Article  >  développement back-end  >  conversion de tableau multidimensionnel php

conversion de tableau multidimensionnel php

PHPz
PHPzoriginal
2023-05-07 16:50:08477parcourir

En programmation PHP, un tableau multidimensionnel est une structure de données couramment utilisée. À mesure que la complexité de l'entreprise augmente, nous devrons peut-être convertir des tableaux multidimensionnels et effectuer certaines opérations. Dans cet article, nous présenterons la méthode de conversion d'un tableau multidimensionnel en tableau unidimensionnel en PHP.

1. Qu'est-ce qu'un tableau multidimensionnel

En PHP, un tableau est un type de variable spécial utilisé pour stocker une série de valeurs. Un tableau multidimensionnel signifie que chaque élément du tableau est également un tableau. Ce tableau d'éléments peut être bidimensionnel, tridimensionnel ou même plus. Voici un exemple :

$multiArray = array(
    array('apple', 'orange', 'banana'),
    array('red', 'yellow', 'green'),
    array('sweet', 'sour', 'bitter')
);

Dans ce tableau multidimensionnel, $multiArray0 est « banane ».

2. Comment convertir un tableau multidimensionnel en un tableau unidimensionnel

Parfois, nous devons convertir un tableau multidimensionnel en un tableau unidimensionnel et traiter il. Les méthodes de conversion spécifiques sont divisées en trois types suivants :

  1. Utiliser la fonction array_merge

array_merge la fonction peut fusionner plusieurs tableaux en un seul tableau, et Renvoie le nouveau tableau. Nous pouvons utiliser cette fonction pour compresser un tableau multidimensionnel en un tableau unidimensionnel.

$multiArray = array(
    array('apple', 'orange', 'banana'),
    array('red', 'yellow', 'green'),
    array('sweet', 'sour', 'bitter')
);
$oneArray = array();
foreach($multiArray as $value) {
    $oneArray = array_merge($oneArray, $value);
}
print_r($oneArray);

Résultats d'exécution :

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
    [3] => red
    [4] => yellow
    [5] => green
    [6] => sweet
    [7] => sour
    [8] => bitter
)

Cette méthode convient aux situations où les dimensions des tableaux multidimensionnels ne sont pas trop élevées, mais elle entraînera des problèmes de performances lorsqu'il s'agit de grands , tableaux multidimensionnels de haute dimension.

  1. Utilisez la fonction intégrée array_walk_recursive

array_walk_recursive La fonction peut parcourir un tableau multidimensionnel et exécuter une fonction de rappel définie par l'utilisateur sur tous ses valeurs. Nous pouvons l'utiliser pour compresser des tableaux multidimensionnels en tableaux unidimensionnels.

$multiArray = array(
    array('apple', 'orange', 'banana'),
    array('red', 'yellow', 'green'),
    array('sweet', 'sour', 'bitter')
);
$oneArray = array();
array_walk_recursive($multiArray, function($value) use(&$oneArray) {
    $oneArray[] = $value;
});
print_r($oneArray);

Résultat d'exécution :

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
    [3] => red
    [4] => yellow
    [5] => green
    [6] => sweet
    [7] => sour
    [8] => bitter
)

Cette méthode est une fonction intégrée à PHP qui peut rapidement parcourir des tableaux multidimensionnels et les compresser en tableaux unidimensionnels. Cependant, en raison de l'utilisation de fonctions de rappel, l'efficacité de l'exécution du code peut être affectée.

  1. Utiliser la méthode récursive

La méthode récursive fait référence à une méthode dans laquelle une fonction peut s'appeler elle-même. Nous pouvons utiliser des méthodes récursives pour parcourir des tableaux multidimensionnels et les compresser en tableaux unidimensionnels.

function multi2single($multiArray, $oneArray = array()) {
    foreach($multiArray as $value) {
        if(is_array($value)) {
            $oneArray = multi2single($value, $oneArray);
        } else {
            $oneArray[] = $value;
        }
    }
    return $oneArray;
}
$multiArray = array(
    array('apple', 'orange', 'banana'),
    array('red', 'yellow', 'green'),
    array('sweet', 'sour', 'bitter')
);
$oneArray = multi2single($multiArray);
print_r($oneArray);

Résultats d'exécution :

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
    [3] => red
    [4] => yellow
    [5] => green
    [6] => sweet
    [7] => sour
    [8] => bitter
)

Les avantages de cette méthode sont une vitesse de parcours rapide et un code simple, et ses performances sont relativement bonnes lorsqu'il s'agit de grands multi-dimensions de haute dimension. tableaux dimensionnels.

Résumé :

Vous pouvez utiliser la fonction array_merge, la fonction array_walk_recursive et la méthode récursive pour convertir un tableau multidimensionnel en un tableau unidimensionnel. Si vous devez l'implémenter rapidement, vous pouvez utiliser la fonction array_walk_recursive. Si vous devez optimiser les performances, vous pouvez utiliser une approche récursive.

Convertir un tableau multidimensionnel en un tableau unidimensionnel est une opération courante en programmation PHP Nous pouvons choisir la méthode de traitement appropriée en fonction de la situation réelle.

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