# current

(PHP 4, PHP 5, PHP 7, PHP 8)

current — Retourne l'élément courant du tableau

### Description

current(array|object `$array`): mixed

Chaque tableau entretient un pointeur interne, qui est initialisé lorsque le premier élément est inséré dans le tableau.

### Liste de paramètres

`array`

  Le tableau.

### Valeurs de retour

current() ne fait que retourner l'élément courant pointé par le pointeur interne du tableau `array`. current() ne déplace pas le pointeur. Si le pointeur est au-delà du dernier élément de la liste, current() retourne `false`.

Avertissement

Cette fonction peut retourner `false`, mais elle peut aussi retourner une valeur équivalent à `false`. Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

### Historique

Version | Description
--- | ---
8.1.0 | Soit convertir l'objet en un tableau en utilisant get_mangled_object_vars() d'abord, ou utiliser les méthodes fournies par une classe qui implémente Iterator, telle que ArrayIterator.
7.4.0 | À partir de PHP 7.4.0, les instances de classes SPL sont traitées comme des objets vides sans propriétés au lieu d'appeler la méthode Iterator avec le même nom que cette fonction.

### Exemples

Exemple #1 Exemple d'utilisation de current()

`<?php
echo $mode = current($transport), PHP_EOL; // $mode = 'foot';
echo $mode = next($transport), PHP_EOL; // $mode = 'bike';
echo $mode = current($transport), PHP_EOL; // $mode = 'bike';
echo $mode = prev($transport), PHP_EOL; // $mode = 'foot';
echo $mode = end($transport), PHP_EOL; // $mode = 'plane';
echo $mode = current($transport), PHP_EOL; // $mode = 'plane';
$arr = array();
var_dump(current($arr)); // bool(false)
$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>`

### Notes

> Note: Il n'est pas possible de distinguer la fin d'un tableau ou le résultat de l'appel current() sur un tableau vide, à partir de l'élément bool `false`. Pour traverser correctement un tableau qui peut contenir l'élément `false`, voir la structure de contrôle `foreach`. Pour continuer d'utiliser current() et vérifier correctement si la valeur est réellement un élément du tableau, la key() de l'élément current() devrait être comparée strictement différente de l'élément `null`.

### Voir aussi

- end() - Positionne le pointeur de tableau en fin de tableau
- key() - Retourne une clé d'un tableau associatif
- each() - Retourne chaque paire clé/valeur d'un tableau
- prev() - Recule le pointeur courant de tableau
- reset() - Remet le pointeur interne de tableau au début
- next() - Avance le pointeur interne d'un tableau
- `foreach`