Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何向数组中添加变量?_Php - Fatal编程技术网

Php 如何向数组中添加变量?

Php 如何向数组中添加变量?,php,Php,我有这样的数组: Array ( [0] => Array ( [total] => 0 [month] => May ) [1] => Array ( [total] => 1000000 [month] => June ) ) Array ( [0] => Arra

我有这样的数组:

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

    [1] => Array
        (
            [total] => 1000000
            [month] => June
        )
)
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
        )
)
Array
(
    [0] => Array
        (
            [total] => 0
            [month] => May
            [target] => 3000000
        )

    [1] => Array
        (
            [total] => 1000000
            [month] => June
            [target] => 3000000
        )
)
是否可以这样做?


<?php 
  foreach($your_array as $k=>$v):
     $your_array[$k]['target'] = $target;
  endforeach;
?>
试试这个方法

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

如果您的目标是将
target
键添加到主数组中的所有子数组,就像您发布的那样,您可以使用如下循环:

    <?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,
           ),
        );
使用


如果您总是知道变量名,那么您可以执行以下操作

$target = 3000000
foreach($array as $key => $val){
   $array[$key]['target'] = $target;//create new index "target" and assign the value
}
注意:
$array
是您当前的数组

输出

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

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

这是一种更简单的方法,不需要额外的数组初始化

foreach($key=>&$value作为数组){ $value['target']=5000; }


打印(数组)

Php的array\u映射允许您将函数应用于数组的每个元素

<?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);
我需要你的帮助。看这里: