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 — 内部の配列ポインタをひとつ前に戻す
パラメータ
- array
-
入力の配列。
返り値
内部の配列ポインタが指している前の場所の配列値を返します。 もう要素がない場合は FALSE を返します。
例
例1 prev() および類似関数の使用例
<?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';
?>
注意
警告
この関数は論理値 FALSE を返す可能性がありますが、FALSE として評価される 0 や "" といった値を返す可能性もあります。 詳細については 論理値の セクションを参照してください。この関数の返り値を調べるには ===演算子 を 使用してください。
注意: 配列中に boolean FALSE の要素が含まれていると、 それを配列の先頭と区別することができません。FALSE 要素を含む配列を順に処理するには、each() 関数を参照ください。
prev
soapergem at gmail dot com
29-May-2009 09:06
29-May-2009 09:06
xmlich02 at stud dot fit dot vutbr dot cz
29-Sep-2007 09:19
29-Sep-2007 09: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);
}
