想象一下阵列是这样的。
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循环本身犯了错误,要么我不擅长循环。
答案 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);