Pour chaque tableau, PHP garde un pointeur sur l'élément courant. Ce pointeur n'est pas un pointeur comme en C, mais plutôt un curseur comme celui utilisé dans les résultat de requêtes de sélection des bases de données.
Plusieurs fonctions permettent de travailler avec ce pointeur :
| current() | retourne la valeur de l'élément courant |
| reset() | place le pointeur sur le premier élément et renvoie sa valeur |
| end() | place le pointeur sur le dernier élément et renvoie sa valeur |
| next() | place le pointeur sur l'élément suivant et renvoie sa valeur |
| prev() | place le pointeur sur l'élément précédent et renvoie sa valeur |
| each() | retourne la clé et la valeur de l'élément courant (sous la forme d'un tableau) et place le pointeur sur l'élément suivant |
| key() | retourne la clé de l'élément courant |
Les fonctions d'itérations sont le plus souvent utilisées avec une boucle while sur un tableau associatif.
Notez que la fonction each() est OBSOLÈTE à partir de PHP 7.2.0.