Here's a slight revision to xmlich02's backwards iteration example. The problem with his/her example is that it will halt if any of the array elements are boolean false, while this version will not.
<?php
end($ar);
while ( !is_null($key = key($ar)) ) {
$val = current($ar);
echo "{$key} => {$val}\n";
prev($ar);
}
?>
prev
(PHP 4, PHP 5)
prev — Dahili dizi göstericisini bir geriletir
Açıklama
Dahili dizi göstericisini bir geriletir.
prev() işlevi dahili dizi göstericisini bir ileri değil de bir geri alması dışında next() gibidir.
Değiştirgeler
-
dizi -
Göstericisi konumlanacak dizi.
Dönen Değerler
Dizinin dahili göstericisinin bulunduğu konumun bir öncesinde eleman varsa
o elemanın değeri döner, yoksa FALSE döner.
Örnekler
Örnek 1 - prev() ve şürekası
<?php
$araç = array('tabanvay', 'bisiklet', 'otomobil', 'uçak');
$kip = current($araç); // $kip = 'tabanvay';
$kip = next($araç); // $kip = 'bisiklet';
$kip = next($araç); // $kip = 'otomobil';
$kip = prev($araç); // $kip = 'bisiklet';
$kip = end($araç); // $kip = 'uçak';
?>
Notlar
Bu işlev mantıksal FALSE
değeriyle dönebileceği gibi FALSE olarak değerlendirilebilecek mantıksal
olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi edinmek için
Mantıksal Değerler bölümüne
bakabilirsiniz. Bu işlevden dönen değeri sınamak için
===
işlecini kullanınız.
Bilginize: Bir dizinin başlangıcındaki elemanın değerinin boolean
FALSEolup olmadığını anlayamazsınız.FALSEdeğerli elemanlar içeren bir dizide bilinçli olarak ilerlemenin en doğru yolu each() kullanmaktır.
Ayrıca Bakınız
- current() - Bir diziden gösterici konumundaki elemanı döndürür
- end() - Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
- next() - Dahili dizi göstericisini bir ilerletir
- reset() - Bir dizinin dahili göstericisini ilk elemana konumlar
- each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
// example of backward iteration
$ar = array ( 'a', 'b', 'c', 'd', 'e', 'f') ;
print_r($ar);
end($ar);
while($val = current($ar)) {
echo $val.' ';
prev($ar);
}
