2017-11-21 7 views
1

私は2つの値を組み合わせるために必要なPHP配列を持っています。新しいキー名を作成し、arrayに値をPHPと組み合わせる方法は?

最初の配列

array(2) { 
    [0]=> 
    array(1) { 
     ["id"]=> 
     string(1) "1" 
    } 
    [1]=> 
    array(1) { 
     ["id"]=> 
     string(2) "40" 
    } 
} 

二番目の配列

array(2) { 
    [0]=> 
    string(4) "1008" 
    [1]=> 
    string(1) "4" 
} 

出力yと

array(2) { 
    [0]=> 
    array(1) { 
     ["id"]=> 
     string(1) "1", 
     ["count"]=> 
     string(1) "1008" 
    } 
    [1]=> 
    array(1) { 
     ["id"]=> 
     string(2) "40", 
     ["count"]=> 
     string(1) "4" 
    } 
} 

所望しました新しいキー名(count)を2番目の配列に追加し、最初の配列に値を結合する必要があることがわかります。

このアレイを組み合わせて出力するにはどうすればよいですか?

+0

かなりわからない、私はロールバックしましたそれはより多くのより良い情報を含んでいたので、前のバージョンにそれを。 – Xatenev

+0

'var_dump'を表示しても実際の配列に比べて意味がありません。 –

+1

@YashParekh前に変更を受け入れました –

答えて

2

次のように試してみてください。アイデアは、最初の配列を反復し、各配列インデックスに対して、2番目の配列の同じインデックスに含まれる値を保持する新しいキー "count"を追加することです。

$array1 = []; 
$array2 = []; 

for ($i = 0; $i < count($array1); $i++) { 
    $array1[$i]['count'] = $array2[$i]; 
} 
+0

@SimonOrroいいえ。このコードスニペットは、その警告を生成することはできません。更新されたコードを表示できますか? https://3v4l.org/otrva – Xatenev

1

あなたはこの

$arr1=[["id"=>1],["id"=>40]]; 
$arr2=[1008,4]; 
for($i=0;$i<count($arr2);$i++){ 
    $arr1[$i]["count"] = $arr2[$i]; 
} 

ライブデモのようにそれを行うことができます:https://eval.in/904266

出力は

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [count] => 1008 
     ) 

    [1] => Array 
     (
      [id] => 40 
      [count] => 4 
     ) 

) 
1

別の機能的アプローチ(これは初期の変更/変異させませんですアレイ):

$arr1 = [['id'=> "1"], ['id'=> "40"]]; 
$arr2 = ["1008", "4"]; 

$result = array_map(function($a){ 
    return array_combine(['id', 'count'], $a); 
}, array_map(null, array_column($arr1, 'id'), $arr2)); 

print_r($result); 

出力:

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [count] => 1008 
     ) 

    [1] => Array 
     (
      [id] => 40 
      [count] => 4 
     ) 
) 
0

または再帰を持つ別のアプローチ:

$arr1=[["id"=>1],["id"=>40]]; 
$arr2=[1008,4]; 

foreach ($arr1 as $key=>$value) { 
    $result[] = array_merge_recursive($arr1[$key], array ("count" => $arr2[$key])); 
} 

print_r($result); 

そして出力:その編集が必要だった理由を

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [count] => 1008 
     ) 

    [1] => Array 
     (
      [id] => 40 
      [count] => 4 
     ) 

) 
関連する問題