current / next / prev / reset / end / key în PHP

Citesc și mută pointerul intern al unui tablou: elementul curent, următorul, anteriorul, primul, ultimul.

Sintaxă
current(object|array $array): mixed

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)). end cere o variabilă și primești o notificare. Salvează întâi rezultatul lui explode.
  • Verifici while (next($t)) pe un tablou care conține false, 0 sau "". Bucla se oprește prea devreme. Folosește foreach.

Comenzi înrudite