如何获得N个数组中n个子数组项的总和,PHP Laravel

问题描述 投票:0回答:1

我有N个数组。具有n个grade_items子数组。就是这样。

array:2 [
  0 => array:10 [
    "id" => 9
    "course_id" => 6
    "semester_id" => 2
    "name" => "Assignment"
    "total_score" => 10
    "grade_items" => array:1 [
      0 => array:7 [
        "id" => 5
        "gradelist_id" => 9
        "student_course_id" => 11
        "score" => 8
        "created_at" => "2020-04-21T03:31:20.000000Z"
        "updated_at" => "2020-04-21T20:04:10.000000Z"
      ]
    ]
  ]
  1 => array:10 [
    "id" => 10
    "course_id" => 6
    "semester_id" => 2
    "name" => "Pop Quiz"
    "total_score" => 20
    "grade_items" => array:1 [
      0 => array:7 [
        "id" => 6
        "gradelist_id" => 10
        "student_course_id" => 11
        "score" => null
        "created_at" => "2020-04-22T00:11:17.000000Z"
        "updated_at" => "2020-04-22T00:11:17.000000Z"
      ]
    ]
  ]
]

我正在尝试从student_course_id相同的每个数组中添加每个grade_item子数组。如果只有一个grade_item,没有其他一个具有相同的student_course_id,则它仅返回一个值而不是总和。

我已经完成了此thread

但是它进一步弄乱了我头脑中的逻辑。我来这已经好几个星期了。

[当我添加每个grade_item的分数时,我想将该值放入另一个模型中,例如“ result_model”,看起来像:

result_item [
    "id" => 1,
    "student_course_id" => 11,
    "score" => 15 //total of grade_items from all arrays where the student_course_id's were the same
];

帮助!

php arrays laravel associative-array
1个回答
0
投票
使用sum()功能。您可以遍历该数组,并进行所需的任何检查,例如它是否不是Null等,然后依次进行pluck()和sum()。
© www.soinside.com 2019 - 2024. All rights reserved.