我想連接兩個數組是這樣的:如何在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