Maison  >  Article  >  développement back-end  >  Comment convertir un tableau 2D en tableau 1D en utilisant PHP

Comment convertir un tableau 2D en tableau 1D en utilisant PHP

PHPz
PHPzoriginal
2023-04-25 09:05:141058parcourir

En PHP, un tableau bidimensionnel est un tableau composé de plusieurs tableaux unidimensionnels, ce qui est une structure de données très courante en programmation. Cependant, dans certains scénarios spécifiques, nous pouvons avoir besoin de convertir un tableau à deux dimensions en un tableau à une dimension pour faciliter l'utilisation et le traitement du programme.

Maintenant, je vais vous présenter comment utiliser PHP pour convertir un tableau à deux dimensions en un tableau à une dimension.

1. Utilisez la boucle foreach

La méthode la plus courante consiste à utiliser la boucle foreach pour extraire chaque élément du tableau bidimensionnel et le stocker dans un nouveau tableau unidimensionnel.

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array();
foreach ($array as $value) {
    foreach ($value as $val) {
        $newArray[] = $val;
    }
}
print_r($newArray);

Résultat de sortie :

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

2. Utilisez la fonction array_reduce

Nous pouvons également utiliser la fonction array_reduce de PHP pour traiter des tableaux bidimensionnels.

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array_reduce($array, function ($result, $item) {
    return array_merge($result, array_values($item));
}, array());

print_r($newArray);

Résultat de sortie :

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

3. Utilisez la fonction array_column

Si nous avons seulement besoin d'extraire une certaine colonne dans le tableau bidimensionnel, nous pouvons utiliser la fonction array_column de PHP.

$array = array(
    array('id' => 1, 'name' => 'Tom', 'age' => 18),
    array('id' => 2, 'name' => 'Jerry', 'age' => 20)
);

$newArray = array_column($array, 'name');
print_r($newArray);

Résultat de sortie :

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

4. Utilisez la fonction pour convertir le tableau de manière récursive

Si les dimensions du tableau bidimensionnel imbriqué ne sont pas fixes, nous pouvons utiliser la fonction récursive pour convertir.

$array = array(
    array('id' => 1, 'name' => 'Tom', 'languages' => array('PHP', 'Java')),
    array('id' => 2, 'name' => 'Jerry', 'languages' => array('Python', 'C++'))
);

function convert($array) {
    $newArray = array();
    foreach ($array as $value) {
        if (is_array($value)) {
            $newArray = array_merge($newArray, convert($value));
        } else {
            $newArray[] = $value;
        }
    }
    return $newArray;
}

$newArray = convert($array);
print_r($newArray);

Résultat de sortie :

Array (
    [0] => 1
    [1] => Tom
    [2] => PHP
    [3] => Java
    [4] => 2
    [5] => Jerry
    [6] => Python
    [7] => C++
)

Il existe plusieurs méthodes ci-dessus pour convertir un tableau bidimensionnel en un tableau unidimensionnel. Choisir la méthode appropriée en fonction de la situation réelle peut grandement améliorer l'efficacité et la lisibilité du code.

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