2011-11-13 89 views
4

可能重複:
Multiple index variables in PHP foreach loop多陣列與foreach語句呼應在PHP

,我們可以重複使用單foreach聲明多個陣列?

試圖在下面的方式這樣做,但沒有成功:

foreach($cars, $ages as $value1, $value2) 
{ 
    echo $value1.$value2; 
} 
+0

這將是很好的能夠做到,但我認爲你將需要使用索引。數組的長度總是一樣嗎? –

+0

@Yzmir數組長度不同。 – user1043972

+6

如果它們的長度不一樣,那麼無論如何這都沒有意義。 –

回答

10

假設兩個陣列具有元素相同數量的,這應該工作

foreach(array_combine($cars, $ages) as $car => $age){ 
    echo $car.$age; 
} 

如果數組不保證是相同的長度,那麼你可以做這樣的事情

$len = max(count($ages), count($cars)); 
for($i=0; $i<$len; $i++){ 
    $car = isset($cars[$i]) ? $cars[$i] : ''; 
    $age = isset($ages[$i]) ? $ages[$i] : ''; 
    echo $car.$age; 
} 

如果你只是想加入e兩個陣列,你可以這樣做

foreach(array_merge($cars, $ages) as $key => $value){ 
    echo $key . $value; 
} 
+1

哇你打敗了我。此外,您的代碼與我的代碼完全相同:D - +1 – fardjad

+2

使用'array_combine()'將不起作用,因爲根據詢問問題的人員數組的大小不一樣。當數組大小不一樣時,array_combine()將返回FALSE。也許你可以墊更小的陣列? –

+0

@YzmirRamirez更新 –