Ce face current / next / prev / reset / end / key
Fiecare tablou are un „pointer intern” care arată spre un element. current returnează valoarea de acolo, iar key cheia. next și prev mută pointerul înainte și înapoi, reset îl duce la primul element, end la ultimul.
next, prev, reset și end returnează valoarea la care au ajuns sau false dacă nu mai există element. Cel mai des, end și reset sunt folosite pentru a lua ultimul și primul element.
Parametri
| Parametru | Descriere |
|---|---|
$array |
Tabloul citit. Pentru next, prev, reset și end trebuie să fie o variabilă, deoarece pointerul se schimbă. |
Ce returnează
Valoarea elementului (sau false dacă pointerul a ieșit din tablou). key returnează cheia sau null.
Exemple
Exemplul 1: Mutarea pointerului
<?php
$pasi = ["coș", "livrare", "plată"];
echo current($pasi) . "\n";
echo next($pasi) . "\n";
echo next($pasi) . "\n";
var_dump(next($pasi));
echo reset($pasi);
Rezultat
coș
livrare
plată
bool(false)
coș
Exemplul 2: Primul și ultimul element
<?php
$fisier = "poza.vacanta.jpg";
$parti = explode(".", $fisier);
echo "Extensia: " . end($parti) . "\n";
echo "Cheia ultimului: " . key($parti);
Rezultat
Extensia: jpg
Cheia ultimului: 2
Greșeli frecvente
- Scrii
end(explode(".", $f)).endcere o variabilă și primești o notificare. Salvează întâi rezultatul luiexplode. - Verifici
while (next($t))pe un tablou care conținefalse,0sau"". Bucla se oprește prea devreme. Foloseșteforeach.
Comenzi înrudite
array_key_first / array_key_last: Returnează prima (array_key_first) sau ultima cheie (array_key_last) dintr-un tablou.foreach: Parcurge, pe rând, fiecare element dintr-un tablou.array_shift / array_unshift: Scoate primul element dintr-un tablou (array_shift) sau adaugă elemente la început (array_unshift).