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 — Rewind the internal array pointer
Descrierea
Rewind the internal array pointer.
prev() behaves just like next(), except it rewinds the internal array pointer one place instead of advancing it.
Parametri
- array
-
The input array.
Valorile întroarse
Returns the array value in the previous place that's pointed to by the internal array pointer, or FALSE if there are no more elements.
Exemple
Example #1 Example use of prev() and friends
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = next($transport); // $mode = 'car';
$mode = prev($transport); // $mode = 'bike';
$mode = end($transport); // $mode = 'plane';
?>
Note
Această funcţie poate întoarce valoarea Boolean FALSE, dar poate de asemenea întoarce o valoare non-Boolean care evaluează în FALSE, cum ar fi 0 sau "". Vă rugăm să citiţi secţiunea despre tipul Boolean pentru mai multe informaţii. Utilizaţi operatorul === pentru a verifica valoarea întoarsă de această funcţie.
Notă: You won't be able to distinguish the beginning of an array from a boolean FALSE element. To properly traverse an array which may contain FALSE elements, see the each() function.
Vedeţi de asemenea
- current() - Return the current element in an array
- end() - Set the internal pointer of an array to its last element
- next() - Advance the internal array pointer of an array
- reset() - Set the internal pointer of an array to its first element
- each() - Return the current key and value pair from an array and advance the array cursor
prev
29-May-2009 07:06
29-Sep-2007 07:19
// 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);
}
