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

时间:2015-10-28 20:11:58

标签: php arrays

想象一下阵列是这样的。

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循环本身犯了错误,要么我不擅长循环。

5 个答案:

答案 0 :(得分:3)

您需要遍历数据库结果,我在下面的示例中调用$yourArrays

foreach ($yourArrays as &$anArray){
    $anArray['value_3'] = 20; 
}

答案 1 :(得分:2)

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

$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,以便获得给定子数组的引用,并能够对其进行修改。

答案 2 :(得分:1)

可能的方法:

$YourArray[0]['value_3'] = 20;
$YourArray[1]['value_3'] = 20;

编辑:

foreach($YourArray as $Key) {
    $YourArray[$Key]['value_3'] = 20;
}

答案 3 :(得分:1)

与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);

答案 4 :(得分:1)

$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);