2016-07-15 10 views
1

私はこのような配列を持っている:変数を配列に追加する方法は?

Array 
(
    [0] => Array 
     (
      [total] => 0 
      [month] => May 
      [target] => 3000000 
     ) 

    [1] => Array 
     (
      [total] => 1000000 
      [month] => June 
      [target] => 3000000 
     ) 
) 
$target = 3000000

は、私は、

だから、配列にこのような結果を変数を追加します:

Array 
(
    [0] => Array 
     (
      [total] => 0 
      [month] => May 
     ) 

    [1] => Array 
     (
      [total] => 1000000 
      [month] => June 
     ) 
) 

私はこのような変数を持っています

できますか?

答えて

1

この方法を試してみてください、あなたの目標は、ちょうどあなたがループしていることを行うことができます投稿1と同様に、メインアレイ内のすべてのサブアレイにtargetキーを追加する場合

foreach($myArray as $key=>$value){ 
    $myArray[$key]['target'] = $target; 
} 
print_r($myArray); // To print array 
+0

私はあなたの助けが必要。こちらをご覧ください:http://stackoverflow.com/questions/38521602/how-to-make-triangle-roll-up-with-php –

0
<?php 
    foreach($your_array as $k=>$v): 
    $your_array[$k]['target'] = $target; 
    endforeach; 
?> 
0

このように:

<?php 
     $target = 3000000; 
     $mainArray = array(
      array(
      'total' => 0, 
      'month' => 'May', 
      ), 
      array(
      'total' => 1000000, 
      'month' => 'June', 
      ), 
     ); 

     foreach($mainArray as $key=>&$subArrays){ 
      $subArrays['target'] = $target; 
     } 

     var_dump($mainArray); //<== SHOULD CONTAIN THE ENTRY: target. 

     //DUMPS 
     array(
      array(
      'total' => 0, 
      'month' => 'May', 
      'target' => 3000000, 
      ), 
      array(
      'total' => 1000000, 
      'month' => 'June', 
      'target' => 3000000, 
      ), 
     ); 

hereを確認してください。

0

使用array_merge

$target = ['target' => 3000000]; 

foreach ($array as &$item) { 
    $item = array_merge($item, $target); 
} 
0

あなたは常に変数名を知っている場合は、

$target = 3000000 foreach($array as $key => $val){ $array[$key]['target'] = $target;//create new index "target" and assign the value } 

下記の注意のように行うことができます:
$arrayが出て、あなたの現在の配列

ですput

Array 
(
[0] => Array 
    (
     [total] => 0 
     [month] => May 
     [target] => 3000000 
    ) 

[1] => Array 
    (
     [total] => 1000000 
     [month] => June 
     [target] => 3000000 
    ) 
) 
0

これははるかに簡単な方法です。余分なアレイの初期化は不要です。

foreach($ array = $ & $値){ $ value ['target'] = 5000; }

print_r($ array);

0

Phpのarray_mapを使用すると、配列のすべての要素に関数を適用できます。

<?php 

$input = array 
    (
     array 
      (
       'total' => 0, 
       'month' => 'May' 
      ), 
     array 
      (
       'total' => 1000000, 
       'month' => 'June' 
      ) 
    ); 

$output = array_map 
    (
     function($item) { 
      $item['target'] = '3000000'; 
      return $item; 
     }, 
     $input 
    ); 

var_export($output); 

出力:

array (
    0 => 
    array (
    'total' => 0, 
    'month' => 'May', 
    'target' => '3000000', 
), 
    1 => 
    array (
    'total' => 1000000, 
    'month' => 'June', 
    'target' => '3000000', 
), 
) 
関連する問題