2012-08-26 58 views
-1

可能重複:
foreach with three variables addPHP - 如何使用多個陣列中的foreach

我有下面的代碼我想的foreach使用多個陣列。請注意,我需要$ yourSiteContent []。

foreach ($pieces as $id and $pieces1 as $id_date) { 
    $yourSiteContent[] = array('permalink' => $id, 'updated' => $id_date); 
} 

,你可以看到我有兩個數組($件和$ pieces1),請檢查循環,讓我知道我在做什麼錯誤。

$ pieces1包含日期和$件包含url。

感謝您的幫助。

+0

'and'語法是新的嗎?我不知何故在後面? –

+0

我不知道只是從谷歌得到它... –

+0

它對我沒有任何意義(除非我沒有掌握最新的技術)。換句話說,'foreach'通常是'foreach($ arr as $ key => $ val)',所以你的語法有一些問題。你的谷歌搜索代碼是僞代碼嗎? –

回答

2

您應該使用for循環和索引器,然後訪問每個數組。

4

假設$件和$ pieces1都有,你可以做以下的相同的密鑰:

for (array_keys($pieces) as $key) { 
    $yourSiteContent[] = 
     array('permalink' => $pieces[$key], 'updated' => $pieces2[$key]); 
} 
0

要保持到的foreach格式,你也可以不喜歡它(假設兩者$件和$ pieces1已在相同的密鑰):

$yourSiteContent = array(); 
foreach ($pieces as $key=>$value) { 
    $yourSiteContent[] = array('permalink'=>$value, 
           'updated'=>$pieces1[$key]); 
} 
0

可以使用array_combine()到兩個陣列組合成一個單一的陣列,其中一個被用於鍵和另一個用於值。

foreach (array_combine($pieces, $pieces1) as $id => $id_date) { 
    $yourSiteContent[] = array('permalink' => $id, 'updated' => $id_date); 
} 

請參閱array_combine()瞭解更多信息。