Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays - Fatal编程技术网

Php 如何向从数据库中提取的关联数组添加值?

Php 如何向从数据库中提取的关联数组添加值?,php,arrays,Php,Arrays,想象一个数组是这样的 Array ( [0] => Array ( [value_1] => 10 [value_2] => 15 ) [1] => Array ( [value_1] => 10 [value_2] => 15 ) [value_3] => 20 )

想象一个数组是这样的

Array
(
    [0] => Array
        (
            [value_1] => 10
            [value_2] => 15
        )

    [1] => Array
        (
            [value_1] => 10
            [value_2] => 15
        )

    [value_3] => 20
)
如果[value_3]不在数据库中,您如何让它同时出现在两行中

Array
(
    [0] => Array
        (
            [value_1] => 10
            [value_2] => 15
            [value_3] => 20
        )

    [1] => Array
        (
            [value_1] => 10
            [value_2] => 15
            [value_3] => 20
        )
)

我真的不明白如何做到这一点,我已经尝试了很多方法。因此,我要么在foreach循环本身上犯了错误,要么不擅长for循环。

您需要循环数据库结果,在下面的示例中,我称之为
$yourrays

foreach ($yourArrays as &$anArray){
    $anArray['value_3'] = 20; 
}
可能的方法:

$YourArray[0]['value_3'] = 20;
$YourArray[1]['value_3'] = 20;
编辑:


循环数组并使用
&
向每个数组添加新键以获取引用,否则更改将不会对原始数组生效:

$dbArr = array(array('value_1' => 10, 'value_2' => 15), array('value_1' => 10, 'value_2' => 15));

foreach ($dbArr as &$arr) {
    $arr['value_3'] = 20;
}

请记住使用
&$arr
,以便获得给定子数组的引用,并能够对其进行修改。

使用foreach循环时,不要错过
&

$array = [
    [ 'value_1' => 10, 'value_2' => 15 ],
    [ 'value_1' => 10, 'value_2' => 15 ]
];

foreach ($array as &$value){
    $value['value_3'] = 20; 
}

var_dump($array);

在数组中循环并执行类似以下操作:
$my_数组[$i]['value_3']=$my_数组['value_3']这就是我所拥有的,但是['value_3']仍然保留在数组的底部,而不是[0]和[1]中。请尝试添加
&
以便通过引用传递值如何获取每一行?使用for循环?哇,实际上我从来不知道数组中的
&
部分。谢谢你告诉我ti的工作和解释。代码现在可以正常工作:)没问题,很乐意帮助:)
$array = [
    [ 'value_1' => 10, 'value_2' => 15 ],
    [ 'value_1' => 10, 'value_2' => 15 ]
];

foreach ($array as &$value){
    $value['value_3'] = 20; 
}

var_dump($array);
$array = array(
    array(
        'value_1' => 10,
        'value_2' => 15,
    ),
    array(
        'value_1' => 10,
        'value_2' => 15,
    )
);

$value_3 = 20;

foreach($array as $key => $row) {
    $array[$key]['value_3'] = $value_3;
}

var_dump($array);