Maison  >  Article  >  développement back-end  >  Comment récupérer des clés de tableau dans une boucle Foreach en PHP

Comment récupérer des clés de tableau dans une boucle Foreach en PHP

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-17 17:20:32291parcourir

How to Retrieve Array Keys within a Foreach Loop in PHP

Récupérer les clés de tableau pendant une boucle Foreach : PHP

Lorsque vous travaillez avec des tableaux en PHP, il est souvent nécessaire de récupérer à la fois les clés et les valeurs contenues dans une boucle foreach. La fonction key() fournit un moyen pratique d'accéder à la clé actuelle pendant l'itération. Cependant, dans certains scénarios, il peut ne pas donner le résultat souhaité.

Considérez le code suivant qui vise à générer un tableau HTML à partir de l'exemple de tableau :

<code class="php">foreach($samplearr as $item){
  print "<tr\><td>" . key($item) . "</td>\><td>" . $samplearr['value1'] . "</td>\><td>" . $samplearr['value2'] . "</td>\></tr\>";
}</code>

Ce code renvoie de manière incorrecte le clé comme "valeur1" au lieu de la clé réelle du tableau externe (par exemple, 4722).

Pour résoudre ce problème, il est nécessaire d'utiliser la clé du tableau comme variable d'itération :

<code class="php">foreach($samplearr as $key => $item){
  print "<tr\><td>" . $key . "</td>\><td>" . $item['value1'] . "</td>\><td>" . $item['value2'] . "</td>\></tr\>";
}</code>

En déclarant la variable de boucle comme "$key", vous pouvez accéder directement à la clé du tableau externe dans la boucle. Ce code va désormais générer correctement le tableau HTML attendu :

<code class="html"><tr\><td>4722</td>\><td>52</td>\><td>46</td>\></tr\>
<tr\><td>4922</td>\><td>22</td>\><td>47</td>\></tr\>
<tr\><td>7522</td>\><td>47</td>\><td>85</td>\></tr\></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