【发布时间】:2022-01-25 06:55:37
【问题描述】:
我有数组
array1
array:5 [
0 => array:1 [
2 => array:2 [
"type" => 1
"score" => 10
]
]
1 => array:1 [
2 => array:2 [
"type" => 2
"score" => 5
]
]
2 => array:1 [
2 => array:2 [
"type" => 3
"score" => 4
]
]
3 => array:1 [
2 => array:2 [
"type" => 4
"score" => 60
]
]
4 => array:1 [
1 => array:2 [
"type" => 1
"score" => 5
]
]
]
我有第二个
array2
,它是一维的
array:2 [ 0 => 2, 1 => 1]
我想得到
array1
中所有得分值的总和,其中
array1.key
=
array2.val
将导致:
array:5 [
0 => array:1 [
2 => array:2 [
"score" => 79
]
1 => array:2 [
1 => array:2 [
"score" => 5
]
]
]
这是我尝试过的
// getResult (result,remarks,psychomotor) based on periodid
$result = Result::join('subject__class_groups', 'results.subjectid', 'subject__class_groups.id')
->join('term__session__years', 'results.academic_periodid', 'term__session__years.id')
->join('result_types', 'results.restult_typeid', 'result_types.id')
->join('terms', 'term__session__years.termid', 'terms.id')
->join('academic_sessions', 'term__session__years.sessionid', 'academic_sessions.id')
->join('academic_years', 'term__session__years.yearid', 'academic_years.id')
->join('subjects', 'subject__class_groups.subjectid', 'subjects.id')
->join('class_groups', 'subject__class_groups.classgroupid', 'class_groups.id')
->where('results.studentid', $studentid)
->where('results.academic_periodid', $periodid)->get();
$allSubjects = [2,1];
$subs = [];
foreach($result as $res){
// solve for everysubjectid
$subject = array_push($allSubjects, $res->subjectid);
$returnValue = array_unique($allSubjects);
$getScores = array_push($subs, [$res->subjectid=>[
'type'=>$res->restult_typeid,
'score'=>$res->score_obtained,
]]);
}
$check = array_intersect_key($returnValue, $subs);
dd($check);
我被困在这里,因为我不知道该怎么做
所以我会感谢一些帮助...季节的赞美 谢谢你的期待
-
好的。那么,你尝试过什么?你被困在哪里了?我们将帮助您解决实际问题,但这不是免费的“写我的代码”服务。见 How to Ask
-
@ADyson 我已经编辑了问题并添加了我所做的事情
-
array1
是一个二维数组。您应该将哪个维度的键与array2
中的值进行比较? -
您在
array1[0]
中有重复的键2
。 -
第一个键是索引,我想将它与键 2 和 1 @Barma 进行比较