Comment puis-je obtenir le numéro d'élément actuel lorsque je traverse un tableau?
Je connais count (), mais j'espérais qu'il y avait une fonction intégrée pour obtenir également l'index de champ actuel, sans avoir à ajouter une variable de compteur supplémentaire.
comme ça:
foreach($array as $key => value)
if(index($key) == count($array) ....
Vous devez utiliser la fonction key () .
key($array)
devrait retourner la clé actuelle.
Si vous avez besoin de la position de la clé actuelle:
array_search($key, array_keys($array));
Les tableaux PHP sont à la fois indexés sur des nombres entiers et indexés sur des chaînes. Vous pouvez même les mélanger:
array('red', 'green', 'white', 'color3'=>'blue', 3=>'yellow');
Que voulez-vous que l'index soit pour la valeur 'blue'
? Est-ce 3? Mais c'est en fait l'indice de la valeur 'yellow'
, ce serait donc une ambiguïté.
Une autre solution pour vous consiste à contraindre le tableau à une liste de valeurs indexées sur des nombres entiers.
foreach (array_values($array) as $i => $value) {
echo "$i: $value\n";
}
Sortie:
0: red
1: green
2: white
3: blue
4: yellow
foreach() {
$i++;
if(index($key) == $i){}
//
}
function Index($index) {
$Count = count($YOUR_ARRAY);
if ($index <= $Count) {
$Keys = array_keys($YOUR_ARRAY);
$Value = array_values($YOUR_ARRAY);
return $Keys[$index] . ' = ' . $Value[$index];
} else {
return "Out of the ring";
}
}
echo 'Index : ' . Index(0);
Remplacez le ($ YOUR_ARRAY)