tableau bidimensionnel php en tableau unidimensionnel

王林
Libérer: 2023-05-23 10:47:37
original
462 Les gens l'ont consulté

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

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

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
        )

)
Copier après la connexion

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

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

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

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!

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