增加php foreach里面的值?

时间:2012-06-15 09:38:10

标签: php for-loop foreach

是否可以在foreach中增加php变量? 我知道如何通过在外面声明来循环。

我正在寻找类似下面的语法

foreach ($some as $somekey=>$someval; $i++)
{

}

9 个答案:

答案 0 :(得分:31)

不,你必须使用

$i = 0;
foreach ($some as $somekey=>$someval) {
    //xyz
    $i++;
}

答案 1 :(得分:5)

foreach ($some as $somekey=>$someval)
{
     $i++;


}

答案 2 :(得分:1)

我知道这是一个旧的,但这些是我的想法。

$some = ['foo', 'bar'];

for($i = 0; $i < count($some); $i++){
 echo $some[$i];
}

- 更新 -

$some = ['foo', 'bar'];
$someCounted = count($some);

for($i = 0; $i < $someCounted; $i++){
 echo $some[$i];
}

它会实现,首先要找到的是什么 但是你必须增加索引$ i 因此,它不会为您节省任何打字。

答案 3 :(得分:1)

懒惰的做法是:

{
    $i=1;
    foreach( $rows as $row){
        $i+=1;
    }
}

,但是你必须为$ i预设范围,以便在foreach之后不存在或者最后取消它

$i=1;
foreach( $rows as $row){
    $i+=1;
}
unset($i);

,但你应该像leopold写的那样使用循环。

答案 4 :(得分:0)

有没有理由不使用

foreach ($some as $somekey=>$someval)
{
$i++;
}

答案 5 :(得分:0)

foreach ($some as $somekey=>$someval)
{
    $i++;
}

答案 6 :(得分:0)

foreach ($some as $somekey=>$someval)
{
 $i++;
}

我只是一个变量。即使它曾用于迭代你正在使用的任何项目,它仍然可以像任何其他项目一样进行修改。

答案 7 :(得分:0)

这样就可以了! 请记住,如果要从0开始计数/递增,则必须在foreach循环之前定义$ i = 0.

$i = 0;
foreach ($some as $somekey=>$someval) {
    $i++;
}

答案 8 :(得分:0)

$dataArray = array();
$i = 0;
foreach($_POST as $key => $data) {
    if (!empty($data['features'])) {
        $dataArray[$i]['feature'] = $data['features'];
        $dataArray[$i]['top_id'] = $data['top_id'];
        $dataArray[$i]['pro_id'] = $data['pro_id'];
    }
    $i++;
}