2013-05-29 35 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