Maison  >  Article  >  développement back-end  >  Tableau bidimensionnel PHP en tableau unidimensionnel conservant les noms de clés

Tableau bidimensionnel PHP en tableau unidimensionnel conservant les noms de clés

WBOY
WBOYoriginal
2023-05-23 09:59:07469parcourir

En PHP, le tableau est un type de données très couramment utilisé. Je pense que de nombreux développeurs PHP utiliseront des tableaux pour stocker, traiter et parcourir des données. Dans le développement réel, nous devons parfois convertir un tableau multidimensionnel en un tableau unidimensionnel, et les noms de clés doivent être conservés. Ce type d’opération est assez courant dans le développement réel. Cet article explique comment utiliser PHP pour convertir un tableau à deux dimensions en un tableau à une dimension et conserver les noms de clés.

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

Avant de commencer à présenter comment convertir un tableau à deux dimensions en un tableau à une dimension, nous devons comprendre ce qu'est un tableau en PHP. En PHP, les tableaux peuvent être utilisés pour stocker une série de valeurs. Ces valeurs peuvent être de n'importe quel type, comme des entiers, des flottants, des chaînes, des objets, etc. Chaque valeur du tableau est associée à une clé, qui peut être une chaîne, un entier, etc. Comparés à d'autres langages, les tableaux de PHP sont très flexibles et peuvent répondre à une variété de besoins.

Il existe deux manières de définir des tableaux en PHP. L'une consiste à utiliser []" pour définir, par exemple :

$arr1 = [1, 2, 3];
$arr2 = ['name' => 'xiaoming', 'age' => 18];

L'autre consiste à utiliser array() pour définir, par exemple :

$arr3 = array(4, 5, 6);
$arr4 = array('name' => 'xiaohuang', 'age' => 20);

Vous pouvez afficher le tableau via la structure de la fonction var_dump, par exemple :

var_dump($arr1);
var_dump($arr2);
var_dump($arr3);
var_dump($arr4);

Les résultats de sortie obtenus sont :

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

array(2) {
  ["name"]=>
  string(8) "xiaoming"
  ["age"]=>
  int(18)
}

array(3) {
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
}

array(2) {
  ["name"]=>
  string(8) "xiaohuang"
  ["age"]=>
  int(20)
}

Comme le montrent les résultats de sortie, $arr1 et $arr3 sont des tableaux indexés par nombres, $arr2 et $arr4 sont des tableaux associatifs. Ensuite, nous présenterons comment convertir le tableau à deux dimensions en un tableau à une dimension et conserver les noms de clés

2. -tableau dimensionnel en tableau unidimensionnel

Nous supposons qu'il existe un tableau à deux dimensions comme suit :

$students = array(
    array('name' => 'xiaoming', 'age' => 18, 'sex' => 'male'),
    array('name' => 'xiaohong', 'age' => 19, 'sex' => 'female'),
    array('name' => 'xiaozhang', 'age' => 20, 'sex' => 'male')
);

Ce tableau à deux dimensions contient trois éléments, chaque élément. sont les informations de chaque élève. Les informations incluent le nom, l'âge et le sexe. Nous devons maintenant convertir ce tableau à deux dimensions en un tableau à une dimension

Vous pouvez utiliser l'instruction foreach pour implémenter le parcours de tableau. , par exemple : # 🎜🎜#

$newArr = array();
foreach($students as $student) {
    foreach($student as $key => $value) {
        $newArr[$key][] = $value;
    }
}

Dans le code ci-dessus, la première boucle foreach parcourt chaque élément du tableau $students, qui correspond aux informations de chaque étudiant. La deuxième boucle foreach parcourt les clés des informations de chaque étudiant. . Paires de valeurs, c'est-à-dire le nom, l'âge et le sexe de l'élève. Dans chaque parcours, les paires clé-valeur parcourues sont ajoutées à un nouveau tableau unidimensionnel. La structure du tableau $newArr résultant est la suivante : #🎜 🎜#
array(3) {
  ["name"]=>
  array(3) {
    [0]=>
    string(8) "xiaoming"
    [1]=>
    string(8) "xiaohong"
    [2]=>
    string(9) "xiaozhang"
  }
  ["age"]=>
  array(3) {
    [0]=>
    int(18)
    [1]=>
    int(19)
    [2]=>
    int(20)
  }
  ["sex"]=>
  array(3) {
    [0]=>
    string(4) "male"
    [1]=>
    string(6) "female"
    [2]=>
    string(4) "male"
  }
}
.

Vous pouvez voir que chaque paire clé-valeur du tableau $newArr conserve toujours le nom de clé dans le tableau bidimensionnel d'origine, de cette façon, si vous devez opérer en fonction d'un certain nom de clé. lors du traitement ultérieur, vous pouvez facilement

3. La signification de conserver le nom de la clé

Pourquoi le nom de la clé est-il utilisé pour identifier un ? certaine valeur. Le nom de la clé est conservé. L'avantage est que vous pouvez utiliser le nom de la clé pour accéder directement à une valeur, au lieu de parcourir pour trouver la valeur requise. De plus, si vous conservez le nom de la clé, vous pouvez être plus flexible. dans le traitement des données, et vous pouvez ajouter, supprimer, modifier et interroger selon vos besoins

Par exemple, si nous devons trouver le sexe d'un étudiant âgé de 18 ans dans le $newArr ci-dessus. tableau, le code peut être écrit comme :

echo $newArr['sex'][array_search(18, $newArr['age'])];

De ce qui précède. On peut voir à partir du code que puisque le nom de la clé est conservé, nous pouvons directement utiliser $newArr['age'] pour trouver le les informations sur l'âge de l'étudiant et utilisez la fonction array_search pour trouver la valeur d'index avec un âge de 18 ans, puis utilisez $newArr['sex' ] pour trouver les informations sur le sexe de l'étudiant. Cette méthode de requête est plus efficace que l'utilisation d'une boucle pour. trouvez-le. Le tableau dimensionnel est converti en un tableau unidimensionnel et les noms de clés sont conservés. Dans le développement réel, conserver les noms de clés peut rendre le traitement des données plus pratique et la vitesse des requêtes est également plus efficace. Lors du traitement des données, nous devons faire attention à utiliser les noms de clés dans le tableau pour effectuer des opérations, afin que la lisibilité, la maintenabilité et l'évolutivité du code soient meilleures.

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