PHP:foreach - 反向1次迭代

时间:2011-05-19 18:13:07

标签: php

假设我有一个代码:

foreach($array as $key => $value)
{
    //do something
    if($var === true) //"reverse"
}

是否有可能“反转”foreach,所以它“运行”时使用相同数组的元素,当它被称为“回来”时它正在“运行”;)?

2 个答案:

答案 0 :(得分:4)

您必须使用正常的for循环,并使最后一个参数(修改部分)依赖于变量。

以下手册中的Expr3:http://php.net/manual/en/control-structures.for.php

答案 1 :(得分:2)

没有foreach,没有。你可以这样做:

$array = range(1,10);

for (
    $dir = 1, reset($array); 
    $val = current($array); // for keys, use list($key,$val) = each($array)
    $dir == 1 ? next($array) : prev($array)
) {
    echo "{$val}\n";
    if ($val == 7) {
        $dir = -1;
    }
}