Maison  >  Article  >  développement back-end  >  tableau bidimensionnel php en tableau unidimensionnel

tableau bidimensionnel php en tableau unidimensionnel

王林
王林original
2023-05-23 10:47:37458parcourir

En PHP, un tableau est une structure de données très puissante et flexible qui peut stocker de nombreux types de données différents. Les tableaux PHP peuvent être des tableaux unidimensionnels, des tableaux bidimensionnels, des tableaux multidimensionnels, etc.

Dans le processus de développement actuel, nous devons souvent convertir des tableaux bidimensionnels en tableaux unidimensionnels pour faciliter la traversée et le traitement des données. Cet article explique comment convertir un tableau à deux dimensions en un tableau à une dimension en PHP.

PHP Tableau bidimensionnel

En PHP, un tableau bidimensionnel est un tableau dans lequel les éléments du tableau sont également des tableaux. Par exemple :

$students = array(
    array("name" => "John", "age" => 23, "score" => 90),
    array("name" => "Mike", "age" => 21, "score" => 80),
    array("name" => "Mary", "age" => 22, "score" => 85)
);

Ici, nous créons un tableau $students, qui contient trois éléments, chaque élément est un tableau, contenant le nom, l'âge et les notes de l'élève.

Convertir un tableau à deux dimensions en un tableau à une dimension

En PHP, il existe de nombreuses façons de convertir un tableau à deux dimensions en un tableau à une dimension. Voici plusieurs méthodes couramment utilisées :

Méthode 1 : Traversée de boucle

Nous pouvons parcourir chaque élément du tableau bidimensionnel, puis le fusionner en un nouveau dans un tableau unidimensionnel.

$students = array(
    array("name" => "John", "age" => 23, "score" => 90),
    array("name" => "Mike", "age" => 21, "score" => 80),
    array("name" => "Mary", "age" => 22, "score" => 85)
);

$newArray = array();
foreach ($students as $student) {
    foreach ($student as $key => $value) {
        $newArray[$key][] = $value;
    }
}

print_r($newArray);

Le résultat du code ci-dessus est :

Array
(
    [name] => Array
        (
            [0] => John
            [1] => Mike
            [2] => Mary
        )

    [age] => Array
        (
            [0] => 23
            [1] => 21
            [2] => 22
        )

    [score] => Array
        (
            [0] => 90
            [1] => 80
            [2] => 85
        )

)

Comme vous pouvez le voir, grâce au parcours de boucle, nous convertissons le tableau bidimensionnel en un nouveau tableau associatif, dans lequel chacun Les éléments correspondent à une valeur clé pour chaque élément du tableau bidimensionnel d'origine.

Méthode 2 : Utilisez la fonction array_column

PHP fournit la fonction array_column pour obtenir la colonne spécifiée à partir d'un tableau multidimensionnel. Nous pouvons utiliser cette fonction pour obtenir le nom, l'âge et le score de chaque élève, puis les fusionner dans un nouveau tableau unidimensionnel.

$students = array(
    array("name" => "John", "age" => 23, "score" => 90),
    array("name" => "Mike", "age" => 21, "score" => 80),
    array("name" => "Mary", "age" => 22, "score" => 85)
);

$newArray = array(
    "name" => array_column($students, "name"),
    "age" => array_column($students, "age"),
    "score" => array_column($students, "score")
);

print_r($newArray);

Le résultat de sortie du code ci-dessus est le même que celui de la première méthode.

Méthode 3 : Utilisez la fonction array_reduce

Nous pouvons utiliser la fonction array_reduce pour parcourir des tableaux à deux dimensions, puis les fusionner dans un nouveau tableau à une dimension.

$students = array(
    array("name" => "John", "age" => 23, "score" => 90),
    array("name" => "Mike", "age" => 21, "score" => 80),
    array("name" => "Mary", "age" => 22, "score" => 85)
);

$newArray = array_reduce($students, function($carry, $student) {
    foreach ($student as $key => $value) {
        $carry[$key][] = $value;
    }
    return $carry;
}, array());

print_r($newArray);

Le résultat de sortie du code ci-dessus est le même que celui de la première méthode.

Méthode 4 : Fonction personnalisée

On peut également personnaliser une fonction pour convertir un tableau à deux dimensions en un tableau à une dimension.

function array_convert($arr) {
    $result = array();
    foreach ($arr as $row) {
        foreach ($row as $key => $value) {
            $result[$key][] = $value;
        }
    }
    return $result;
}

$students = array(
    array("name" => "John", "age" => 23, "score" => 90),
    array("name" => "Mike", "age" => 21, "score" => 80),
    array("name" => "Mary", "age" => 22, "score" => 85)
);

$newArray = array_convert($students);
print_r($newArray);

Le résultat de sortie du code ci-dessus est le même que celui de la première méthode.

Summary

En PHP, il existe de nombreuses façons de convertir un tableau à deux dimensions en un tableau à une dimension, notamment en effectuant une boucle, en utilisant la fonction array_column, en utilisant array_reduce fonction et les fonctions personnalisées attendent. La méthode à choisir dépend des besoins du scénario spécifique et des habitudes de développement. Dans le processus de développement actuel, nous devons utiliser ces méthodes de manière flexible afin de traiter les données plus efficacement.

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