Maison  >  Article  >  développement back-end  >  Comment convertir un tableau PHP bidimensionnel en tableau unidimensionnel

Comment convertir un tableau PHP bidimensionnel en tableau unidimensionnel

PHPz
PHPzoriginal
2023-04-19 10:07:141098parcourir

En PHP, un tableau bidimensionnel est une structure de données qui stocke des données ordonnées. Il peut organiser plusieurs éléments de données dans un tableau et accéder à chaque élément via un index. Cependant, dans certains cas, nous devons convertir un tableau à deux dimensions en un tableau à une dimension pour faciliter d'autres opérations. Cet article présentera en détail comment convertir un tableau à deux dimensions en un tableau à une dimension en PHP.

1. Utilisez la boucle foreach pour parcourir

L'utilisation de la boucle foreach est la méthode la plus courante pour convertir un tableau à deux dimensions en un tableau à une dimension. Les étapes spécifiques sont les suivantes :

//定义二维数组
$students = array(
    array("name" => "张三", "age" => 18, "gender" => "男"),
    array("name" => "李四", "age" => 20, "gender" => "女"),
    array("name" => "王五", "age" => 19, "gender" => "男")
);

//定义一维数组
$studentInfo = array();

//遍历二维数组
foreach($students as $student) {
    foreach($student as $key => $value) {
        //将二维数组的元素添加到一维数组中
        $studentInfo[$key][] = $value;
    }
}

//输出一维数组
print_r($studentInfo);

Dans le code ci-dessus, nous définissons d'abord un tableau bidimensionnel $students, qui contient les noms, âges et sexes de trois étudiants. Ensuite, nous définissons un tableau unidimensionnel $studentInfo pour stocker les informations sur les étudiants. Utilisez une boucle foreach pour parcourir le tableau à deux dimensions et ajouter les éléments à l'intérieur au tableau à une dimension. Enfin, le tableau unidimensionnel converti est généré. Les résultats suivants seront affichés :

Array
(
    [name] => Array
        (
            [0] => 张三
            [1] => 李四
            [2] => 王五
        )

    [age] => Array
        (
            [0] => 18
            [1] => 20
            [2] => 19
        )

    [gender] => Array
        (
            [0] => 男
            [1] => 女
            [2] => 男
        )

)

On peut voir que le tableau bidimensionnel $students est converti avec succès en un tableau unidimensionnel $studentInfo.

2. Utilisez la fonction array_map

En plus d'utiliser la boucle foreach, nous pouvons également utiliser la fonction intégrée PHP array_map pour convertir un tableau à deux dimensions en un tableau à une dimension. Les étapes spécifiques sont les suivantes :

//定义二维数组
$students = array(
    array("name" => "张三", "age" => 18, "gender" => "男"),
    array("name" => "李四", "age" => 20, "gender" => "女"),
    array("name" => "王五", "age" => 19, "gender" => "男")
);

//定义一个函数,用于将二维数组元素转换为一维数组
function flatten($item) {
    return $item;
}

//调用array_map函数,将二维数组转换为一维数组
$studentInfo = array_map("flatten", $students);

//输出一维数组
print_r($studentInfo);

Dans le code ci-dessus, nous utilisons le tableau bidimensionnel défini $students. De plus, nous définissons une fonction appelée flatten() pour convertir chaque élément du tableau à deux dimensions en un tableau à une dimension. Utilisez la fonction array_map pour appeler la fonction flatten() afin de convertir le tableau bidimensionnel en un tableau unidimensionnel $studentInfo. Les résultats suivants seront affichés :

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
            [gender] => 男
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 20
            [gender] => 女
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 19
            [gender] => 男
        )

)

On peut voir que la structure de l'utilisation de la fonction array_map est plus concise que celle de l'utilisation de la boucle foreach.

3. Utilisez la fonction imploser

Enfin, nous pouvons également utiliser la fonction imploser pour convertir le tableau bidimensionnel en une chaîne séparée par des virgules, puis utiliser la fonction exploser pour convertir la chaîne en un tableau unidimensionnel. Les étapes spécifiques sont les suivantes :

//定义二维数组
$students = array(
    array("name" => "张三", "age" => 18, "gender" => "男"),
    array("name" => "李四", "age" => 20, "gender" => "女"),
    array("name" => "王五", "age" => 19, "gender" => "男")
);

//首先将二维数组转换成字符串
$str = implode(",", $students);

//然后使用explode函数将字符串转换成一维数组
$studentInfo = explode(",", $str);

//输出一维数组
print_r($studentInfo);

Dans le code ci-dessus, nous utilisons d'abord la fonction d'implosion pour convertir le tableau bidimensionnel en une chaîne séparée par des virgules, puis utilisons la fonction d'explosion pour convertir la chaîne en une chaîne unidimensionnelle. tableau $studentInfo. Le résultat suivant sera affiché :

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
            [gender] => 男
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 20
            [gender] => 女
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 19
            [gender] => 男
        )

)

On peut voir que cette méthode est la même que l'utilisation de la fonction array_map.

En résumé, bien qu'il soit rare d'avoir besoin de convertir un tableau bidimensionnel en un tableau unidimensionnel, nous pouvons utiliser la boucle foreach, la fonction array_map ou la méthode de fonction implode pour réaliser cette fonction. Lors du choix, les développeurs doivent choisir la méthode qui leur convient le mieux 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