(PHP 4, PHP 5, PHP 7, PHP 8)
current — Liefert das aktuelle Element eines Arrays
Jedes Array hat einen internen Zeiger auf sein "aktuelles" Element, welcher auf das erste in das Array eingefügte Element initialisiert wird.
array
Das Array.
Die Funktion current() gibt den Wert des Array-Elements
zurück, auf das der interne Zeiger gerade zeigt. Sie bewegt den Zeiger
überhaupt nicht. Zeigt der interne Zeiger hinter das Ende der
Elementliste, gibt current() false
zurück.
Diese Funktion kann sowohl das
boolsche false
zurückliefern, als auch einen nicht-boolschen Wert, welcher zu false
ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
boolschen Typen. Benutzen Sie deshalb
den === Operator,
um den Rückgabewert dieser Funktion zu überprüfen.
Version | Beschreibung |
---|---|
8.1.0 | Bei Objekten ist die Verwendung dieser Funktion veraltet. Stattdessen sollte entweder das Objekt vorher mit get_mangled_object_vars() in ein Array umgewandelt werden oder es sollten die Methoden einer Klasse verwendet werden, die Iterator implementiert, z. B. ArrayIterator. |
7.4.0 | Instanzen von SPL-Klassen werden nun wie leere Objekte behandelt, die keine Eigenschaften haben, anstatt die Iterator-Methode aufzurufen, die den gleichen Namen wie diese Funktion hat. |
Beispiel #1 Beispiel für die Verwendung von current() und Freunden
<?php
$transport = array('zu Fuß', 'Fahrrad', 'Auto', 'Flugzeug');
$mode = current($transport); // $mode = 'zu Fuß';
$mode = next($transport); // $mode = 'Fahrrad';
$mode = current($transport); // $mode = 'Fahrrad';
$mode = prev($transport); // $mode = 'zu Fuß';
$mode = end($transport); // $mode = 'Flugzeug';
$mode = current($transport); // $mode = 'Flugzeug';
$arr = array();
var_dump(current($arr)); // bool(false)
$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>
Hinweis: Das Ergebnis des Aufrufs von current() auf ein leeres Array und auf ein Array, dessen interner Zeiger hinter das Ende der Elemente zeigt, sind nicht unterscheidbar von einem boolschen
false
-Element. Um ein Array, das möglicherweisefalse
-Elemente enthält, korrekt zu durchlaufen, siehe die Kontrollstruktur foreach. Um current() dennoch zu verwenden und korrekt zu prüfen, ob der Wert tatsächlich ein Element des Arrays ist, sollte überprüft werden, ob sich der key() des current()-Elements im strikten Vergleich vonnull
unterscheidet.