2012-06-15 71 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); 

存在,但你應該使用就像利奧波德寫的那樣循環。