增加数组计数器


Increment an array counter

在下面的循环中,我希望$value[0]在每次循环时递增。因此,如果$count = 2,循环将运行两次并输出$key . " " . $value[0]$key . " " . $value[1]

现在,我的循环输出$key . " " . $value[0]两次。我做错了什么?

$count = count($updates['positionTitle']);
for($i = 1; $i<=$count; $i++){
    foreach($updates as $key => $value){
        if(!is_array($value))
           echo $key . " " . $value . "<br/>";
         else 
           echo $key . " " . $value[0]++ . "<br/>";
    }
}

您需要存储当前索引的内容。我不太确定你说的是什么循环。我假设它是外部的for循环。我仍然认为这是坏的,但根据你的评论,这是你想要的。

$count = count($updates['positionTitle']);
$idx = 0;
for($i = 1; $i<=$count; $i++){
    foreach($updates as $key => $value){
        if(!is_array($value))
           echo $key . " " . $value . "<br/>";
         else 
           echo $key . " " . $value[$idx] . "<br/>";
    }
    $idx++;
}

变化:

foreach($updates as $key => $value){

:

foreach($updates as $key => &$value){