2012-12-20 60 views
0

确定两次更大,所以我有两个阵列,以及第二个是百达比第一大一倍:的foreach两个阵列当一个大于第二

$items1 = array('1', '2', '3'); 
$items2 = array('a', 'b', 'c', 'd', 'e', 'f'); 

我知道我可以FOREACH两个阵列具有相同的项目数是这样的:

foreach ($items1 as $key => $item1) 
{ 
echo $item1 . $items2[$key] . ', '; 
} 

这会给这样的结果:1A,2B,3C .... 但如何的foreach THOS两个数组,以获得结果是这样的: 1AB,2CD,3EF? aka从$ items1数组中返回第一个项目,然后从$ items2中返回两个项目。

回答

3

你可以写:

foreach ($items1 as $i => $item1) 
{ 
    echo $item1 . $items2[$i * 2] . $items2[$i * 2 + 1] . ', '; 
} 
+2

我可能会扔结果到一个数组,你将有尾随逗号。否则为+1。 – Kermit

4
foreach (array_combine($items1, array_chunk($items2, 2)) as $key => $value) { 
    echo $key.implode($value)."\n"; 
} 
+2

非常优雅的解决方案。 – Kermit

+0

真棒解决方案,但其他答案更适合我的情况。无论如何感谢:) – DadaB

+0

漂亮,但很难理解。记住孩子们:尽量让你的同行们轻松一下。他们会爱你的。诺言。 – DanMan

相关问题