(PHP 4, PHP 5, PHP 7, PHP 8)
current — Retourne l'élément courant du tableau
Chaque tableau entretient un pointeur interne, qui est initialisé lorsque le premier élément est inséré dans le tableau.
array
Le tableau.
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
.
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.
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. |
Exemple #1 Exemple d'utilisation de current()
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport); // $mode = 'foot';
$mode = end($transport); // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
$arr = array();
var_dump(current($arr)); // bool(false)
$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>
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émentfalse
, 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émentnull
.