Maison développement back-end Problème PHP Comment diviser un tableau 2D en tableau 1D php

Comment diviser un tableau 2D en tableau 1D php

May 19, 2023 am 10:19 AM

En PHP, un tableau bidimensionnel est une structure de données courante. Il se compose de plusieurs tableaux unidimensionnels, et chaque tableau unidimensionnel peut contenir plusieurs éléments. Dans certains cas, nous devons diviser un tableau bidimensionnel en plusieurs tableaux unidimensionnels pour des opérations et un traitement plus flexibles. Cet article explique comment diviser un tableau à deux dimensions en un tableau à une dimension.

1. Utiliser la boucle foreach

En PHP, nous pouvons parcourir un tableau bidimensionnel en utilisant une boucle foreach, puis obtenir le tableau unidimensionnel correspondant via l'index du tableau. Voici un exemple d'utilisation d'une boucle foreach pour diviser un tableau bidimensionnel en tableau unidimensionnel :

$twoDimensionalArray = array(
    array('A', 'B', 'C'),
    array('D', 'E', 'F'),
    array('G', 'H', 'I')
);

$oneDimensionalArray1 = array();
$oneDimensionalArray2 = array();
$oneDimensionalArray3 = array();

foreach ($twoDimensionalArray as $key => $value) {
    $oneDimensionalArray1[] = $value[0];
    $oneDimensionalArray2[] = $value[1];
    $oneDimensionalArray3[] = $value[2];
}

print_r($oneDimensionalArray1);
print_r($oneDimensionalArray2);
print_r($oneDimensionalArray3);
Copier après la connexion

Dans cet exemple, nous utilisons une boucle foreach pour parcourir le tableau bidimensionnel $twoDimensionalArray et obtenir les éléments de chacun tableau unidimensionnel par index de tableau. Ensuite, nous divisons le tableau bidimensionnel en trois tableaux unidimensionnels $oneDimensionalArray1, $oneDimensionalArray2 et $oneDimensionalArray3 en ajoutant les valeurs des éléments aux tableaux unidimensionnels correspondants.

2. Utilisez la fonction array_column

Après PHP5.5, nous pouvons séparer les colonnes d'un tableau à deux dimensions en un tableau à une dimension en utilisant la fonction array_column. Voici un exemple d'utilisation de la fonction array_column pour diviser un tableau 2D en un tableau 1D :

$twoDimensionalArray = array(
    array('id' => 1, 'name' => 'apple', 'price' => 3.5),
    array('id' => 2, 'name' => 'banana', 'price' => 2.5),
    array('id' => 3, 'name' => 'orange', 'price' => 4.0)
);

$idArray = array_column($twoDimensionalArray, 'id');
$nameArray = array_column($twoDimensionalArray, 'name');
$priceArray = array_column($twoDimensionalArray, 'price');

print_r($idArray);
print_r($nameArray);
print_r($priceArray);
Copier après la connexion

Dans cet exemple, nous utilisons la fonction array_column pour séparer chaque colonne du tableau 2D $twoDimensionalArray en un tableau 1D de $idArray, $nameArray et $ priceArray. L'utilisation de cette fonction évite d'utiliser une boucle foreach pour parcourir le tableau et est plus concise et plus facile à maintenir.

3. Utilisez la fonction array_map

En PHP, nous pouvons également utiliser la fonction array_map pour diviser un tableau à deux dimensions en plusieurs tableaux à une dimension. Voici un exemple d'utilisation de la fonction array_map pour diviser un tableau 2D en un tableau 1D :

$twoDimensionalArray = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

$firstArray = array_map(function($arr) { return $arr[0]; }, $twoDimensionalArray);
$secondArray = array_map(function($arr) { return $arr[1]; }, $twoDimensionalArray);
$thirdArray = array_map(function($arr) { return $arr[2]; }, $twoDimensionalArray);

print_r($firstArray);
print_r($secondArray);
print_r($thirdArray);
Copier après la connexion

Dans cet exemple, nous utilisons la fonction array_map pour diviser le tableau 2D $twoDimensionalArray en trois tableaux 1D $firstArray, $secondArray et $thirdArray . Nous séparons les éléments de chaque tableau unidimensionnel du tableau et le renvoyons sous la forme d'un nouveau tableau unidimensionnel en utilisant une fonction anonyme.

Grâce aux trois méthodes ci-dessus, nous pouvons diviser le tableau bidimensionnel en plusieurs tableaux unidimensionnels pour faciliter une meilleure manipulation et un meilleur traitement des données. L'utilisation de ces méthodes peut réduire la quantité de code, améliorer la lisibilité et la maintenabilité du code, et également rendre les performances du programme plus efficaces.

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 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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les meilleures pratiques pour la déduplication des tableaux PHP Quelles sont les meilleures pratiques pour la déduplication des tableaux PHP Mar 03, 2025 pm 04:41 PM

Quelles sont les meilleures pratiques pour la déduplication des tableaux PHP

La déduplication PHP Array peut-elle profiter de l'unicité du nom clé? La déduplication PHP Array peut-elle profiter de l'unicité du nom clé? Mar 03, 2025 pm 04:51 PM

La déduplication PHP Array peut-elle profiter de l'unicité du nom clé?

Quelles sont les dernières normes de codage PHP et les meilleures pratiques? Quelles sont les dernières normes de codage PHP et les meilleures pratiques? Mar 10, 2025 pm 06:16 PM

Quelles sont les dernières normes de codage PHP et les meilleures pratiques?

La déduplication du tableau PHP doit-elle être prise en compte pour les pertes de performance? La déduplication du tableau PHP doit-elle être prise en compte pour les pertes de performance? Mar 03, 2025 pm 04:47 PM

La déduplication du tableau PHP doit-elle être prise en compte pour les pertes de performance?

Comment puis-je travailler avec les extensions de PHP et PECL? Comment puis-je travailler avec les extensions de PHP et PECL? Mar 10, 2025 pm 06:12 PM

Comment puis-je travailler avec les extensions de PHP et PECL?

Comment implémenter les files d'attente de messages (Rabbitmq, Redis) dans PHP? Comment implémenter les files d'attente de messages (Rabbitmq, Redis) dans PHP? Mar 10, 2025 pm 06:15 PM

Comment implémenter les files d'attente de messages (Rabbitmq, Redis) dans PHP?

Quelles sont les techniques d'optimisation pour la déduplication des tableaux PHP Quelles sont les techniques d'optimisation pour la déduplication des tableaux PHP Mar 03, 2025 pm 04:50 PM

Quelles sont les techniques d'optimisation pour la déduplication des tableaux PHP

Comment utiliser la réflexion pour analyser et manipuler le code PHP? Comment utiliser la réflexion pour analyser et manipuler le code PHP? Mar 10, 2025 pm 06:12 PM

Comment utiliser la réflexion pour analyser et manipuler le code PHP?

See all articles