2017-08-14 51 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,而你可以得到相同的输出作为接受的答案。 –