2017-08-14 46 views
0

我想連接兩個數組是這樣的:如何在PHP中連接兩個數組?

$cars=array("Volvo","BMW","Toyota"); 
$speed=array("210","220","330"); 
$merge=array_merge($cars,$speed); 

預期輸出:

array(
    0=>Volvo 210 
    1=>BMW 220 
    2=>Toyota 330 
) 
+0

你想要的是不是串聯而是映射。閱讀['array_map()'](http://php.net/manual/en/function.array-map.php)。 – axiac

+0

當OP在發佈前不搜索答案時,他們浪費志願者的時間併產生不必要的網站膨脹,主持人最終必須清理。請在未來研究更徹底。你的問題顯然沒有得到很好的研究(正如我已經證明的),所以值得我的讚賞。 – mickmackusa

回答

3

你也可以試試這個簡單的一種。在這裏,我們使用的是array_map以實現期望的輸出

Try this code snippet here

<?php 

$cars = array('Volvo', 'BMW', 'Toyota'); 
$speed = array('210', '220', '330'); 

$result = array_map(function($car, $speed) { 
    return $car . ' ' . $speed; 
}, $cars, $speed); 

var_dump($result); 
-1

使用此代碼100%工作:

<?php 
$cars = array("Volvo","BMW","Toyota"); 
$speed = array("210","220","330"); 
$marged_array = []; 
$i = 0; 
foreach($cars as $c){ 
    array_push($marged_array, $cars[$i]. ' ' .$speed[$i]); 
    $i++; 
} 
print_r($marged_array); 
//Array ([0] => Volvo 210 [1] => BMW 220 [2] => Toyota 330) 

?> 
+1

它正在工作,但a)它使用'array_push()'它不是必需的,b)它包含拼寫錯誤,並且c)它使用一個不需要的關閉'?>'標記。 – localheinz

1

1:使用0123循環第一個數組

第二:concatenate兩個variable

3:推值轉換成new array

<?php 

$cars=array("Volvo","BMW","Toyota"); 
$speed=array("210","220","330"); 
$new_array =array(); 

foreach($cars as $key=>$c) 
{ 
    $new_array[]=$c.' '.$speed[$key]; 
} 

print_r($new_array); 

?> 

注:當兩個數組元素具有相同和指數相同的計數上面的代碼將只工作。

+0

@Dowvoter你能解釋一下嗎?爲什麼它應得的downvote。這樣我才能糾正我的錯誤。 – JYoThI

0

這將把所有值放入一個數組中。

<?php 
     $cars=array("Volvo","BMW","Toyota"); 
     $speed=array("210","220","330"); 
     $merge=[]; 
     for ($x = 0; $x < sizeof($cars); $x++) { 
      array_push($merge,$cars[$x] .' '. $speed[$x]); 
     } 
    ?> 

編輯正如我已經收到了一些未知的原因,我將解釋我的回答一個downvote。

在這種情況下循環一個數組汽車數組,然後將兩個數組的一個concardination添加到合併數組。

此代碼將獲得與接受的答案相同的結果。

1

PHP中對這樣的情景沒有一種方法,但你可以這樣做:

$cars=array("Volvo","BMW","Toyota");  
$speed=array("210","220","330"); 

$newArr = array(); 

foreach($cars as $cKey => $cVal){  
    $newArr[] = $cVal.' '.$speed[$cKey];  
} 

print_r($newArr); 
0

合併兩組陣列和推入另一個數組。見例如:

$speed=array("210","220","330"); 
$merge=array_combine($cars,$speed); 

$arr= array(); // new array for storing desired data

foreach($merge as $k=>$v){ 
$arr[] = $k .' '.$v; 
} 
print_r($arr); 

Output: 
Array 
(
    [0] => Volvo 210 
    [1] => BMW 220 
    [2] => Toyota 330 
) 
+0

爲什麼'array_combine()'? – axiac

+0

它將兩個數組組合在單個關聯數組中。那麼你可以使用foreach循環。 聯合陣列後將是:陣列([沃爾沃] => 210 [寶馬] => 220 [豐田] => 330) 我不知道爲什麼downvote,而你可以得到相同的輸出作爲接受的答案。 –