web-dev-qa-db-fra.com

PHP - Récupération de l'index d'un élément à partir d'un tableau

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) ....
24
Alex

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));
49
Zahymaka

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
12
Bill Karwin
foreach() {
    $i++;
    if(index($key) == $i){}
    //
}
4
Galen
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)

0
Сайф Абаза