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

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

PHPz
Libérer: 2023-04-25 09:51:51
original
1104 Les gens l'ont consulté

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

Résultat de sortie :

Array (
    [0] => 1
    [1] => Tom
    [2] => 2
    [3] => Jerry
)
Copier après la connexion
Copier après la connexion

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

Résultat de sortie :

Array (
    [0] => 1
    [1] => Tom
    [2] => 2
    [3] => Jerry
)
Copier après la connexion
Copier après la connexion

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

Résultat de sortie :

Array (
    [0] => Tom
    [1] => Jerry
)
Copier après la connexion

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

Résultat de sortie :

Array (
    [0] => 1
    [1] => Tom
    [2] => PHP
    [3] => Java
    [4] => 2
    [5] => Jerry
    [6] => Python
    [7] => C++
)
Copier après la connexion

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!

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