Maison  >  Article  >  développement back-end  >  Convertir entre des tableaux multidimensionnels en php

Convertir entre des tableaux multidimensionnels en php

PHPz
PHPzoriginal
2023-05-23 11:25:37470parcourir

Dans la programmation PHP, les tableaux sont une structure de données très couramment utilisée, et les tableaux multidimensionnels peuvent nous permettre de traiter plus facilement des données complexes. Cependant, nous devons parfois convertir des tableaux multidimensionnels en d'autres formes de tableaux, ou convertir d'autres formes de tableaux en tableaux multidimensionnels. Cet article explique comment effectuer une conversion entre des tableaux multidimensionnels en PHP.

1. Convertir des tableaux multidimensionnels en tableaux unidimensionnels

Dans certains cas, nous devons convertir des tableaux multidimensionnels en tableaux unidimensionnels pour faciliter le stockage des données ou transmission . PHP fournit une fonction très pratique array_values(), qui peut convertir un tableau multidimensionnel en un tableau unidimensionnel. Regardez l'exemple de code ci-dessous :

$multi_dimension_array = array(
    array('a', 'b', 'c'),
    array('d' => 'e', 'f' => 'g'),
    array(1, 2, 3)
);
$one_dimension_array = array_values(array_reduce($multi_dimension_array, 'array_merge', array()));
print_r($one_dimension_array);

Le résultat de sortie est :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => e
    [f] => g
    [4] => 1
    [5] => 2
    [6] => 3
)

Dans l'exemple de code ci-dessus, nous définissons d'abord un tableau multidimensionnel $multi_dimension_array, qui contient trois tableau de sous-tableaux. Nous avons ensuite utilisé les fonctions array_reduce() et array_merge() de PHP pour fusionner plusieurs sous-tableaux en un tableau unidimensionnel. Enfin, nous utilisons la fonction array_values() pour réindexer le tableau unidimensionnel fusionné et afficher le résultat.

2. Convertir un tableau unidimensionnel en un tableau multidimensionnel

De même, nous devons parfois également convertir un tableau unidimensionnel en un tableau multidimensionnel. PHP fournit également quelques fonctions pratiques pour atteindre cet objectif. Deux méthodes seront présentées ci-dessous.

  1. Utilisez la fonction array_chunk()

La fonction array_chunk() en PHP peut diviser un tableau unidimensionnel en plusieurs morceaux selon la petit tableau de taille spécifiée et renvoie un nouveau tableau bidimensionnel. L'exemple de code est le suivant :

$one_dimension_array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
$multi_dimension_array = array_chunk($one_dimension_array, 3);
print_r($multi_dimension_array);

Le résultat de sortie est :

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => d
            [1] => e
            [2] => f
        )

    [2] => Array
        (
            [0] => g
            [1] => h
            [2] => i
        )

    [3] => Array
        (
            [0] => j
        )

)

Dans l'exemple de code ci-dessus, nous définissons d'abord un tableau unidimensionnel $one_dimension_array. Ensuite, nous utilisons la fonction array_chunk() pour diviser $one_dimension_array en plusieurs petits tableaux de longueur 3 et renvoyer un nouveau tableau bidimensionnel $multi_dimension_array.

  1. Utiliser la boucle foreach

Si vous ne souhaitez pas utiliser la fonction array_chunk(), vous pouvez également utiliser la boucle foreach pour convertir un tableau unidimensionnel en tableau multidimensionnel. L'exemple de code est le suivant :

$one_dimension_array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
$multi_dimension_array = array();
$count = 0;
foreach ($one_dimension_array as $item) {
    $multi_dimension_array[floor($count / 3)][$count % 3] = $item;
    $count++;
}
print_r($multi_dimension_array);

Le résultat de sortie est :

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => d
            [1] => e
            [2] => f
        )

    [2] => Array
        (
            [0] => g
            [1] => h
            [2] => i
        )

    [3] => Array
        (
            [0] => j
        )

)

Dans l'exemple de code ci-dessus, nous définissons d'abord un tableau bidimensionnel vide $multi_dimension_array, et un compte variable $count. Nous utilisons ensuite une boucle foreach pour parcourir chaque élément du tableau $one_dimension_array et ajouter l'élément au tableau $multi_dimension_array. Nous utilisons floor($count / 3) pour déterminer l'index du nouveau sous-tableau, et $count % 3 pour déterminer l'index du nouvel élément dans le sous-tableau. Enfin, nous utilisons la fonction print_r() pour afficher les résultats.

3. Résumé

En programmation PHP, le traitement des tableaux est une tâche très courante. Qu'il s'agisse de convertir un tableau multidimensionnel en tableau unidimensionnel ou de convertir un tableau unidimensionnel en tableau multidimensionnel, PHP fournit des fonctions et méthodes très pratiques. Grâce à l'introduction de cet article, je pense que les lecteurs ont compris l'utilisation de ces fonctions et méthodes et peuvent les utiliser de manière flexible dans le développement réel.

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