簡體   English   中英

如何在多維數組中添加新的鍵和值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM