Maison >développement back-end >Problème PHP >Que dois-je faire si PHP n'affiche pas la clé du tableau à deux dimensions ?

Que dois-je faire si PHP n'affiche pas la clé du tableau à deux dimensions ?

PHPz
PHPzoriginal
2023-04-12 09:21:58516parcourir

Dans le développement PHP, les tableaux sont le type de données le plus courant. Nous devons souvent les utiliser, notamment obtenir la valeur du tableau, modifier, ajouter, supprimer et d'autres opérations. Dans les opérations sur les tableaux, la clé et la valeur sont des concepts très importants, car nous utilisons des clés pour rechercher et exploiter les données dans le tableau. Mais parfois, nous constatons que notre programme ne génère pas les clés du tableau comme prévu. Pourquoi ?

Description du problème :

En PHP, lors de la sortie de la clé d'un tableau bidimensionnel, la clé peut ne pas s'afficher normalement. Voici un exemple simple :

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
foreach($arr as $key => $value){
   echo $key."</br>";
}
?>

Le résultat attendu est :

0
1

Mais le résultat réel est :

name
age
name
age

Cela montre que le programme actuel ne génère pas la clé du tableau comme prévu. Alors quelle est la raison de ce problème ?

Cause du problème :

La fonction de la clé du tableau est de marquer la valeur correspondante. Cependant, en fait, la clé dans le tableau à deux dimensions n'est pas une séquence commençant à 0, mais une chaîne. Par exemple, le tableau $arr ci-dessus, dont les clés sont 0 et 1, est le tableau suivant :

array('name'=>'Jack', 'age'=>20)

array('name'=>'Lucy','age'=>18)

Les sorties "name" et "age" sont les clés de chaîne du tableau à deux dimensions.

Problème résolu :

Alors, comment pouvons-nous produire la clé numérique que nous voulons ? Deux solutions sont recommandées ici :

Solution 1 : Utiliser une boucle for pour sortir la clé

Utiliser une boucle for pour sortir la clé est une méthode simple et directe Nous pouvons sortir la clé numérique correspondante via une boucle. Par exemple :

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
for($i=0; $i<count($arr); $i++){
   echo $i."</br>";
}
?>

Cela affichera parfaitement la touche numérique souhaitée, et le résultat est :

0
1

Solution 2 : utilisez la fonction array_keys

La fonction array_keys est une fonction intégrée en PHP, qui peut renvoyer toutes les clés dans une valeur de tableau, combinée avec la fonction de longueur de tableau count(), nous pouvons facilement afficher la clé numérique. Par exemple :

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
print_r(array_keys($arr))."</br>";
 
for($i=0; $i<count($arr); $i++){
   echo $i."</br>";
}
?>

De cette façon, nous pouvons également afficher le résultat attendu "0, 1".

Résumé :

L'utilisation de tableaux en PHP est une opération très courante lors de l'utilisation de tableaux, nous devons comprendre les fonctions et les relations entre la clé et la valeur du tableau. Lorsque nous obtenons des résultats qui ne correspondent pas aux attentes, ne vous inquiétez pas et réfléchissez davantage à l'analyse des solutions au problème. C'est également une bonne occasion d'améliorer vos compétences en programmation et votre pensée logique.

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