我想添加多维键和值数组。我有 1 个多维数组,如下所示:
$data = [
["name" => "albert","id"=>2101001,"value1"=>87 ,"value2"=>63,],
["name" => "andrew","id"=>2101002,"value1"=>76 ,"value2"=>79,],
];
foreach ($data as $value) {
$a = $value['value1'];
$b = $value['value2'];
$data[$value]['average'] = ($a * 0.5) + ($b * 0.6) ;
echo $value['average'];
}
当我在浏览器中运行它时,出现警告消息:
我想要的结果是这样的:未捕获类型错误:行 $data[$value]['average'] = ($a * 0.5) + ($b * 0.6); 中的偏移类型非法
$dataresult = [
["name" => "albert", "id" => 2101001, "value1" => 87 , "value2" => 63, "average" => 81.3],
["name" => "andrew", "id" => 2101002, "value1" => 76 , "value2" => 79, "average" => 85.4],
];
$key
循环中获取
foreach
引用以帮助索引到
data
:
$data = [
["name" => "albert","id"=>2101001,"value1"=>87 ,"value2"=>63,],
["name" => "andrew","id"=>2101002,"value1"=>76 ,"value2"=>79,],
];
foreach ($data as $key => $value) {
$a = $value['value1'];
$b = $value['value2'];
$data[$key]['average'] = ($a * 0.5) + ($b * 0.6) ;
echo $value['average'];
}
var_dump($data);
输出:
array(2) {
[0]=>
array(5) {
["name"]=>
string(6) "albert"
["id"]=>
int(2101001)
["value1"]=>
int(87)
["value2"]=>
int(63)
["average"]=>
float(81.3)
}
[1]=>
array(5) {
["name"]=>
string(6) "andrew"
["id"]=>
int(2101002)
["value1"]=>
int(76)
["value2"]=>
int(79)
["average"]=>
float(85.4)
}
}
PHP 这里是小提琴示例。
average
元素,从而在语法上缩短脚本。当然,您选择的关联键是有问题的——这不是计算平均值的方式。
代码:(
演示)
foreach ($data as ['value1' => $v1, 'value2' => $v2, 'average' => &$avg]) {
$avg = $v1 * 0.5 + $v2 * 0.6;
}
var_export($data);