Maison  >  Article  >  développement back-end  >  Comment convertir un tableau bidimensionnel en PHP en une valeur clé spécifiée

Comment convertir un tableau bidimensionnel en PHP en une valeur clé spécifiée

PHPz
PHPzoriginal
2023-04-27 09:03:58867parcourir

Le tableau bidimensionnel en PHP est une structure de données très courante qui peut être utilisée pour stocker de grandes quantités de données et qui est très flexible. Habituellement, lorsque nous traitons un tableau bidimensionnel, nous devons filtrer des éléments spécifiques en fonction de certaines conditions ou réorganiser la structure de ces éléments. Dans ce cas, convertir un tableau 2D sous une autre forme peut être très utile. Cet article explique comment utiliser la fonction tableau en PHP pour convertir un tableau bidimensionnel en une forme de valeur clé spécifiée.

1. Qu'est-ce qu'un tableau bidimensionnel ?

Un tableau bidimensionnel est une structure de données composée de plusieurs tableaux unidimensionnels. Il peut être considéré comme un tableau, chaque ligne représentant un tableau unidimensionnel et les colonnes représentant les éléments du tableau unidimensionnel.

Par exemple, le code suivant crée un tableau à deux dimensions :

$data = array(
    array("name" => "Tom", "age" => 20),
    array("name" => "Jerry", "age" => 18)
);

Ce tableau contient deux éléments, chaque élément est un tableau à une dimension contenant les deux clés "nom" et "âge" et les valeurs correspondantes. Ce tableau bidimensionnel peut représenter le nom et l’âge d’un groupe de personnes.

2. Conversion d'un tableau bidimensionnel

  1. Convertir un tableau unidimensionnel en une paire clé-valeur

Avant de traiter un tableau bidimensionnel, voyons d'abord comment convertir un tableau unidimensionnel. dans une forme de paire clé-valeur spécifiée. PHP fournit une fonction array_column() très pratique pour implémenter cette fonction. La fonction array_column() peut supprimer une colonne spécifiée d'un tableau multidimensionnel et renvoyer la valeur de la colonne. Par exemple :

$data = array(
    array("name" => "Tom", "age" => 20),
    array("name" => "Jerry", "age" => 18)
);

$names = array_column($data, "name");
print_r($names);

Sortie :

Array
(
    [0] => Tom
    [1] => Jerry
)

Dans le code ci-dessus, nous utilisons la fonction array_column() pour extraire la colonne "name" dans le tableau $data et la stocker dans un nouveau tableau $names. De cette façon, nous pouvons facilement obtenir toutes les informations sur le nom.

  1. Convertir un tableau bidimensionnel en une forme de valeur clé spécifiée

Dans le développement réel, nous devons généralement organiser le tableau bidimensionnel selon différentes conditions, comme le classer par âge ou le trier par premier lettre du nom, etc. À l’heure actuelle, nous pouvons utiliser la fonction array en PHP pour atteindre cet objectif. Ci-dessous, nous présenterons plusieurs méthodes couramment utilisées.

(1) Utilisez la fonction array_reduce()

La fonction array_reduce() peut effectuer un calcul cumulatif sur tous les éléments du tableau et renvoyer le résultat. En utilisant cette fonction, nous pouvons combiner des éléments dans un tableau bidimensionnel en fonction de la valeur clé spécifiée.

Par exemple, si nous voulons classer le tableau $data ci-dessus en fonction de la valeur "age", nous pouvons utiliser le code suivant :

$result = array_reduce($data, function ($acc, $item) {
    $age = $item['age'];
    if (!isset($acc[$age])) {
        $acc[$age] = array();
    }
    $acc[$age][] = $item;
    return $acc;
}, array());

print_r($result);

Sortie :

Array
(
    [20] => Array
        (
            [0] => Array
                (
                    [name] => Tom
                    [age] => 20
                )

        )

    [18] => Array
        (
            [0] => Array
                (
                    [name] => Jerry
                    [age] => 18
                )

        )

)

Dans le code ci-dessus, nous utilisons la fonction anonyme PHP et fonction array_reduce(). Le premier paramètre $acc de la fonction anonyme représente l'accumulateur utilisé pour stocker les résultats accumulés, et le deuxième paramètre $item représente chaque élément du tableau. Dans le corps de la fonction, nous récupérons d'abord la valeur "age" de l'élément, puis déterminons si le tableau correspondant à la valeur "age" existe déjà dans l'accumulateur. S'il n'existe pas, créez enfin un nouveau tableau, ajoutez-le. l'élément dans ce tableau.

(2) Utilisez la fonction array_map()

La fonction array_map() peut traiter chaque élément du tableau et renvoyer un nouveau tableau. En utilisant cette fonction, nous pouvons modifier les éléments du tableau bidimensionnel en fonction de la valeur clé spécifiée.

Par exemple, le code suivant modifie la valeur de la clé "name" de chaque élément du tableau $data ci-dessus en la valeur "age" de l'élément et la stocke dans un nouveau tableau :

$result = array_map(function ($item) {
    $age = $item['age'];
    $item['name'] = $age;
    return $item;
}, $data);

print_r($result);

Sortie :

Array
(
    [0] => Array
        (
            [name] => 20
            [age] => 20
        )

    [1] => Array
        (
            [name] => 18
            [age] => 18
        )

)

In Dans le code ci-dessus, nous avons utilisé la fonction anonyme PHP et la fonction array_map(). Le paramètre $item de la fonction anonyme représente chaque élément du tableau. Dans le corps de la fonction, nous obtenons d'abord la valeur "age" de l'élément, puis attribuons cette valeur à la clé "name" de l'élément.

3. Résumé

Ce qui précède explique comment convertir un tableau bidimensionnel en PHP en une valeur de clé spécifiée. Pour résumer :

  1. Utilisez la fonction array_column() pour convertir un tableau unidimensionnel en une clé spécifiée. forme de paire de valeurs.
  2. Utilisez la fonction array_reduce() pour combiner des tableaux bidimensionnels en fonction des valeurs clés spécifiées.
  3. Utilisez la fonction array_map() pour modifier les éléments du tableau bidimensionnel en fonction de la valeur clé spécifiée.

En développement réel, nous pouvons choisir des méthodes appropriées pour traiter les éléments dans des tableaux bidimensionnels afin de répondre aux différents besoins commerciaux.

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