2012-06-15 49 views
4

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

我正在寻找类似下面

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

} 
+0

以上内容无效。在'foreach'中不允许使用'$ i ++'。你把它和'for($ i = 0; $ i <10; $ i ++)'混合在一起了吗? – Betaminos

+0

s,我正在寻找类似的东西。它可以节省我两行代码 –

回答

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


} 
0

的语法是否有任何理由不使用

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

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

似乎对我有效 – Betaminos

28

不,你将不得不使用

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

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

0

这将做到这一点! 请记住,你有$ i = 0 foreach循环之前定义,如果你想开始计数/从0

$i = 0; 
foreach ($some as $somekey=>$someval) { 
    $i++; 
} 
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++; 
} 
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。
因此它不会为您节省任何打字费用。这样做的

+1

使用内部计数将在每个循环执行计数函数, 不要使用那样,在循环之前写入变量并稍后使用它。 –

+0

谢谢,更新了它。 – leopold

0

偷懒的方法是:

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

,但你必须范围的foreach为$我要不要的foreach后或最后取消它

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

存在,但你应该使用就像利奥波德写的那样循环。