[英]how to add new key and value in multidimensional array?
我想添加鍵和值數組多維。 我有 1 個多維數組,如下所示:
<?php
$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'];
}
?>
當我在瀏覽器中運行它時,有一條警告消息 Uncaught TypeError: Illegal offset type in line $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],
];
我希望你能幫助我,謝謝
需要在foreach
循環中獲取$key
引用以幫助索引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);
output:
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 小提琴示例在這里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.