prev

prev($array)

Cofa wewnętrzny wskaźnik tablicy o jeden element i zwraca wartość elementu, na którym się zatrzyma. Jeśli poprzedniego elementu nie ma, zwraca false.

Parametry

  • $array – tablica. Musi to być zmienna.

Przykłady

$array = array("a", "b", "c");
// wstecz od końca tablicy
end($array);
echo prev($array); // b
echo prev($array); // a
// przed pierwszym elementem nic nie ma
var_dump(prev($array)); // bool(false)
// wskaźnik zostaje poza tablicą
var_dump(current($array)); // bool(false)
echo reset($array); // a
// przejście przez tablicę od końca
$output = "";
for ($value = end($array); key($array) !== null; $value = prev($array)) {
  $output .= $value;
}
echo $output; // cba
// poprzedni i następny wpis według pozycji na liście
$ids = array(12, 15, 19);
$position = array_search(15, $ids);
echo $ids[$position - 1] . " i " . $ids[$position + 1]; // 12 i 19

Na co uważać

  • Wartość zwracana false oznacza początek tablicy, ale element o wartości false wygląda tak samo. Niezawodnie odróżni je key(), która wtedy zwraca null.
  • Gdy wskaźnik raz wyjdzie przed pierwszy element, next() go nie cofnie. Pomogą tylko reset() albo end().
  • Tablicę od końca prościej przejść pętlą foreach po array_reverse().
  • Poprzedni i następny wpis (artykuł, zdjęcie) łatwiej znajdziesz według pozycji na liście, jak w ostatnim przykładzie. Przy pierwszym i ostatnim wpisie sprawdź, czy sąsiad istnieje.

Powiązane funkcje:
next()
end()
current()