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 (örneğin, 0 veya ""). 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 FALSE olup olmadığını anlayamazsınız. FALSE değ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);
}
