2017-08-14 9 views
0

は、私はこのような二つの配列を連結する:PHPで2つの配列を連結するにはどうすればよいですか?

$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が投稿する前に回答を検索しないと、ボランティアの時間が無駄になり、モデレータが最終的に解決しなければならない不要なサイトの膨張が発生します。今後、より完全に研究してください。あなたの質問は明らかに(私が証明したように)よく研究されていないので、私のdownvoteの価値がある。 – mickmackusa

答えて

3

はまた、この最も単純なものを試すことができます。ここでは、両方の配列を結合し、別の配列に押し込み所望の出力

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

第一: 0123を使用して最初の配列をループする

2:concatenatevariable

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

これは、すべての値を1つの配列に入れます。

<?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を受け取ってきたようにEDIT

この場合はcar配列をループし、2つの配列の連結をマージ配列に追加します。

このコードでは、受け入れられた回答と同じ結果が得られます。

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

を達成するためにarray_mapを使用しています。例を参照してください:あなたが欲しい

$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

これは、両方の配列を1つの結合配列で結合します。 foreachループを使用することができます。 ([Volvo] => 210 [BMW] => 220 [Toyota] => 330) アレイの組み合わせは次のようになります。 –

関連する問題