2015-04-28 58 views
-5

我有这个,请...结合阵列到阵列中有数组,PHP

$a = array('pic1','pic2','pic3','pic4'); 

$b = array(array('16'),array('4','12'),array('8','8'),array('7','9')); 

我想这样的结果是阵列组合:

pic1-16 

pic2-4 

pic3-12 

pic4-8 

etc 
etc 

请帮助我的人!

+0

你尝试过什么..?请向我们展示您的代码... – sheshadri

+0

for和foreach,但是当$ b数组得到('4','12')时,我得到了pic2-pic2- –

+0

当用完$ a之前用完数值时会发生什么情况美元的价值? –

回答

1

为了简单起见,让我们将第二个数组变成单维数组。

$a = array('pic1', 'pic2', 'pic3', 'pic4'); 
    $b = array(array('16'), array('4', '12'), array('8', '8'), array('7', '9')); 

    $bFlat = array(); 
    // flatten the second array 
    array_walk_recursive($b, function($v) use(&$bFlat) { $bFlat[] = $v; }); 

    for($i = 0; $i < count($a) && $i < count($bFlat); $i++) { 
    print "{$a[$i]}-{$bFlat[$i]}\n"; 
    } 

输出:

# php tt.php 
pic1-16 
pic2-4 
pic3-12 
pic4-8 
+0

是的,正准备编辑我的第二个数组。好答案。 –

0
for ($i = 0; $i <= count($a); $i++) 
{ 
    $string = $a[$i]." -"; 
    for ($j = 0; $j <= count($b); $j++) 
    { 
     $string += " ".$b[$j]; 
    { 
    echo $string; 
} 

这应该至少可以帮助您开始。

+0

不是所有的$ b's元素都有多个元素 –

+0

射击。这是for循环中的for循环,然后...我会在第二秒更新。没有抓住那个 –

+0

thx花花公子,但$ b不仅仅是一个数组,它的数组进入一个数组... –