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 întoarse
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
FALSEelement. To properly traverse an array which may containFALSEelements, 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
// 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);
}
