2013-05-29 36 views
0

我有两个数组:PHP:Concatinating×2个阵列值

array(1,2,3,4,5) 
array(10,9,8,7,6) 

最终阵列所需:

array(0=>1:10,1=>2:9,2=>3:8,3=>4:7,4=>5:6) 

我可以写这将是quieck足够的自定义功能!但我想使用现有的所以是否有任何功能,这在PHP中做到这一点?传递两个输入数组并获得最终的数组结果?我通过阅读array functions但找不到任何功能或组合将提供给我的结果

+0

结果应该是'1:10'或'1,10'? –

+0

请参阅我编辑的最终数组。感谢所有我们的宝贵回复:) – VishwaKumar

回答

4

没有内置的功能,但确实没有什么错loop ..只要保持它的简单

​​

或使用array_map

$c = array_map(function ($a,$b) { 
    return sprintf("%d:%d", $a,$b); 
}, $a, $b); 

Live Demo

+1

这就是Javascript而不是PHP .. –

+0

@DillenMeijboom ..大声笑 – Baba

+1

@Baba:与array_map一个很酷。为它+1。 –

0
<?php 
    $arr1=array(1,2,3,4,5); 
    $arr2=array(10,9,8,7,6); 
    for($i=0;$i<count($arr1);$i++){ 
    $newarr[]=$arr1[$i].":".$arr2[$i]; 
} 
print_r($newarr); 
?> 
1

试试这个:

$arr1 = array(1,2,3,4,5); 
$arr2 = array(10,9,8,7,6); 

$res = array_map(null,$arr1,$arr2); 
$result = array_map('implode', array_fill(0, count($res), ':'), $res); 

echo "<pre>"; 
print_r($result); 

输出:

Array 
(
    [0] => 1:10 
    [1] => 2:9 
    [2] => 3:8 
    [3] => 4:7 
    [4] => 5:6 
) 
+1

+1但你不需要'array_fill' ... implode会做得很好 – Baba