Comment faire pour obtenir l'index de Tableau dans le foreach
J'ai une boucle foreach en php pour itérer un tableau associatif. À l'intérieur de la boucle, au lieu de increamenting une variable que je veux obtenir de l'indice numérique de l'élément courant. Est-il possible.
$arr = array('name'=>'My name','creditcard'=>'234343435355','ssn'=>1450);
foreach($arr as $person){
//want index here
}
J'ai l'habitude de le faire pour obtenir l'indice:
$arr = array('name'=>'My name','creditcard'=>'234343435355','ssn'=>1450);
$counter =0;
foreach($arr as $person){
//do a stuff
$counter++;
}
- Quelle est l'utilité d'un index numérique pour un tableau associatif?
Vous devez vous connecter pour publier un commentaire.
Utiliser cette syntaxe pour
foreach
pour accéder à la clé (comme$index
) et la valeur (comme$person
)Ceci est expliqué dans le PHP
foreach
de la documentation.Pourquoi auriez-vous besoin d'une numérique de l'indice à l'intérieur de associatif tableau? Tableau associatif contenant les cartes des valeurs arbitraires à des valeurs arbitraires, comme dans votre exemple, les chaînes de chaînes et des nombres:
Tableaux numériques de la carte des nombres consécutifs à des valeurs arbitraires. Dans votre exemple, si nous supprimer toutes les clés de chaîne, la numérotation sera comme ceci:
En PHP, vous n'avez pas à spécifier des touches dans ce cas, il génère lui-même.
Maintenant, pour obtenir les clés dans
foreach
déclaration, vous utilisez le formulaire ci-dessous, à l'instar de @MichaelBerkowski déjà montré:Si vous parcourez numérotés tableau,
$index
auront certain nombre de valeurs. Si vous parcourez assoc tableau, il va avoir des valeurs clés que vous avez spécifié.Sérieusement, pourquoi je suis à même de décrire tout cela?! Il est commun de connaissances directement à partir de la notice d'utilisation!
Maintenant, si vous avez un associatif tableau avec quelques clés arbitraires et vous devez connaître la position numérotée des valeurs et vous n'avez pas de soins sur les touches, vous pouvez parcourir la suite de
array_values
sur votre tableau:Mais si vous ne de soins sur les touches, vous devez utiliser d'autres contre, comme vous l'avez indiqué vous-même:
Ou une vis fonctionnelle de style des trucs avec
array_reduce
, n'a pas d'importance.