W3docs

pos()

En PHP, la fonction pos() est une fonction tableau intégrée qui permet de récupérer la valeur à la position actuelle du pointeur interne d'un tableau.

En PHP, la fonction pos() est une fonction tableau intégrée qui retourne la valeur de l'élément situé à la position actuelle du pointeur interne du tableau. Chaque tableau PHP possède un pointeur interne qui suit quel élément est « courant » ; pos() lit la valeur pointée sans déplacer ce pointeur.

pos() est un alias de current(), et les deux se comportent de manière identique. Étant donné que les alias peuvent être déconseillés ou supprimés dans de futures versions de PHP, current() est le nom à privilégier dans le nouveau code — pos() est documenté ici principalement pour que vous le reconnaissiez dans des projets existants.

Cette page couvre la syntaxe de la fonction, ce qu'elle retourne (y compris le cas limite d'un tableau vide), sa relation avec les autres fonctions de pointeur, et dans quels cas recourir au pointeur est le bon choix.

Syntaxe de la fonction pos()

pos() prend un seul argument — le tableau à inspecter — et retourne la valeur de l'élément vers lequel pointe actuellement le pointeur interne.

pos(array $array): mixed
  • $array — le tableau à lire. Il est passé par référence, donc la variable tableau doit être assignable (vous ne pouvez pas passer un littéral).
  • Valeur de retour — la valeur de l'élément courant, ou false si le tableau est vide ou si le pointeur a dépassé le dernier élément.

Étant donné qu'un élément peut légitimement contenir la valeur false, n'utilisez jamais la valeur de retour seule pour tester « est-ce que ça a échoué ? ». Utilisez key() (qui retourne null au-delà de la fin) lorsque vous avez besoin de détecter la fin d'un tableau de manière fiable.

Exemples d'utilisation de la fonction pos()

Voyons quelques exemples pratiques illustrant comment la fonction pos() peut être utilisée pour récupérer la valeur à la position actuelle du pointeur interne.

Exemple d'utilisation de la fonction pos()

<?php

$colors = ['red', 'green', 'blue'];

// Set the current position to the first element
reset($colors);

// Retrieve the value of the element at the current position
echo pos($colors) . '-'; // Output: red

// Move the current position to the next element
next($colors);

// Retrieve the value of the element at the current position
echo pos($colors) . '-'; // Output: green

// Move the current position to the next element
next($colors);

// Retrieve the value of the element at the current position
echo pos($colors); // Output: blue

Dans cet exemple, nous avons un tableau appelé $colors, qui contient trois éléments. Nous positionnons le pointeur interne sur le premier élément à l'aide de reset(), puis récupérons la valeur à cette position avec pos(). Nous avançons ensuite le pointeur avec next() et relisons la valeur, en répétant l'opération pour atteindre le dernier élément. Point clé : pos() lui-même ne déplace jamais le pointeur — seuls reset(), next(), prev() et end() le font.

Lecture au-delà de la fin

Une fois que le pointeur a dépassé le dernier élément, pos() retourne false. C'est pourquoi false est ambigu comme « valeur courante » — cela peut signifier soit « l'élément vaut false » soit « nous avons dépassé la fin » :

php— editable, runs on the server

Lorsque vous avez réellement besoin de savoir si vous avez atteint la fin, combinez pos() avec key() : key() retourne null au-delà du dernier élément, tandis qu'une vraie clé (0, 1, …) signifie que le pointeur est encore valide.

pos() et les autres fonctions de pointeur

pos() fait partie de la boîte à outils de pointeur interne de PHP. Chaque fonction joue un rôle distinct :

FonctionCe qu'elle fait
current()Retourne la valeur courante (le nom standard ; pos() en est l'alias).
key()Retourne la clé courante au lieu de la valeur.
next()Avance le pointeur, puis retourne la nouvelle valeur courante.
prev()Recule le pointeur, puis retourne la nouvelle valeur courante.
reset()Positionne le pointeur sur le premier élément.
end()Positionne le pointeur sur le dernier élément.

Quand utiliser le pointeur interne

Pour la plupart des parcours de tableaux, une boucle foreach est plus claire et plus sûre — elle ne touche pas du tout le pointeur interne du tableau. Recourez à pos()/current() et leurs fonctions associées uniquement lorsque vous avez besoin d'un contrôle manuel et précis de la position : par exemple, pour observer l'élément courant à l'intérieur d'une boucle while (key($arr) !== null), ou pour parcourir un tableau dans deux directions. Si vous voulez simplement itérer sur chaque élément dans l'ordre, préférez foreach.

Conclusion

La fonction pos() retourne la valeur à la position du pointeur interne d'un tableau sans le déplacer, et est un alias historique de current(). Dans le nouveau code, préférez current() ; combinez-la avec next(), prev(), reset() et end() pour parcourir un tableau manuellement — et rappelez-vous qu'un retour false peut signifier soit une valeur false soit la fin du tableau, donc utilisez key() lorsque la distinction importe.

Pratique

Pratique
Quelle est l'utilisation correcte et la fonctionnalité de la fonction pos() en PHP ?
Quelle est l'utilisation correcte et la fonctionnalité de la fonction pos() en PHP ?
Was this page helpful?