2011-09-19 51 views
4

所以,我有兩個數組如何將兩個數組的字符串值與PHP成對連接?

Array 
(
[0] => test 
[1] => test 1 
[2] => test 2 
[3] => test 3 
) 

Array 
(
[0] => test 
[1] => test 1 
[2] => test 2 
[3] => test 3 
) 

我想,所以我得到這樣一個數組將它們結合在一起?

Array 
(
[0] => test test 
[1] => test 1 test 1 
[2] => test 2 test 2 
[3] => test 3 test 3 
) 

我發現很多功能,如array_mergearray_combine但沒有什麼做什麼,我想做的事情。

任何想法?

在此先感謝。

最大

+0

是的,我想知道是否有一個功能,它爲我做^ _^ –

+3

鑑於有PHP中很多內置的函數,我不認爲這是一個不合理的問題。 – mfonda

+0

@mfonda謝謝 –

回答

4

您可以用array_map做到這一點:

$combined = array_map(function($a, $b) { return $a . ' ' . $b; }, $a1, $a2)); 
+0

+1,與'array_map()'一起使用多個數組。 –

0

沒有內置函數(我知道)來實現它。使用循環:

$combined = array(); 
for($i = 0, $l = min(count($a1), count($a2)); $i < $l; ++$i) { 
    $combined[$i] = $a1[$i] . $a2[$i]; 
} 

適應環路根據自己的喜好:僅拼接元素的最小數目,串聯空字符串,如果陣列中的一個較短等

0

,你可以不喜歡它

for($i; $i<count($a); $i++) 
{ 
    $arr[$i] = $a[$i]." ".$b[$i]; 
} 
+0

'$ i knittl

+0

yaa很快就做到了。糾正感謝告訴。 – Astha

0

只要遍歷以及級聯分配到一個新的數組:

$array1=array("test","test 1","test 2","test 3"); 
$array2=array("x","y","z","w"); 

$new_array=array(); 

foreach (range(0,count($array1)-1) as $i) 
{ 
    array_push($new_array,$array1[$i] . $array2[$i]); 
} 
0

假設第Ë兩個數組$陣列1和$數組2

for($x = 0; $x < count($array2); $x++){ 
     $array1[$x] = $array1[$x] . ' ' . $array2[$x]; 
    } 
1

這是一個在線解決方案,如果你使用的是PHP 5.3.0+:

$result = array_map(function ($x, $y) { return $x.$y; }, $array1, $array2); 
0

如果數據來自兩個不同的查詢並且它們變成兩個不同的數組,則將它們組合並不總是一個答案。

當放入一個數組([])時,它們可以用一個foreach循環來計算多少個,然後循環在一起。

注意:它們必須在每個陣列中具有相同的數量或者一個可以在另一個之前完成......

foreach ($monthlytarget as $value) { 
// find how many results there were 
    $loopnumber++; 
} 

echo $loopnumber; 

for ($i = 0; $i < $loopnumber; $i++) { 
echo $shop[$i]; 
echo " - "; 
echo $monthlytarget[$i]; 
echo "<br>"; 
} 

這一操作將顯示: -

Tescos - 78
阿斯達 - 89個
莫里森 - 23個
森斯玻利 - 46

你甚至可以在數號碼添加到顯示此列表項目編號....

相關問題