我想连接两个数组是这样的:如何在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
)
我想连接两个数组是这样的:如何在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
)
你也可以试试这个简单的一种。在这里,我们使用的是array_map
以实现期望的输出
<?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);
使用此代码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)
?>
它正在工作,但a)它使用'array_push()'它不是必需的,b)它包含拼写错误,并且c)它使用一个不需要的关闭'?>'标记。 – localheinz
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);
?>
注:当两个数组元素具有相同和指数相同的计数上面的代码将只工作。
@Dowvoter你能解释一下吗?为什么它应得的downvote。这样我才能纠正我的错误。 – JYoThI
这将把所有值放入一个数组中。
<?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添加到合并数组。
此代码将获得与接受的答案相同的结果。
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);
合并两组阵列和推入另一个数组。见例如:
$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
)
为什么'array_combine()'? – axiac
它将两个数组组合在单个关联数组中。那么你可以使用foreach循环。 联合阵列后将是:阵列([沃尔沃] => 210 [宝马] => 220 [丰田] => 330) 我不知道为什么downvote,而你可以得到相同的输出作为接受的答案。 –
你想要的是不是串联而是映射。阅读['array_map()'](http://php.net/manual/en/function.array-map.php)。 – axiac
当OP在发布前不搜索答案时,他们浪费志愿者的时间并产生不必要的网站膨胀,主持人最终必须清理。请在未来研究更彻底。你的问题显然没有得到很好的研究(正如我已经证明的),所以值得我的赞赏。 – mickmackusa