我有下面的陣列
[0: {id: 2, restult_typeid: 1, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}
1: {id: 2, restult_typeid: 2, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}
2: {id: 2, restult_typeid: 3, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}
3: {id: 2, restult_typeid: 4, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}
4: {id: 2, restult_typeid: 1, studentid: 3, academic_periodid: 1, subjectid: 1, classroomid: 6,…}]
我想把這個陣列變成這個,即所有具有相同主題 ID 的陣列都應該在一個組中,反之亦然
[
0: [{id: 2, restult_typeid: 1, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}, {id: 2, restult_typeid: 2, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}, {id: 2, restult_typeid: 3, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}, {id: 2, restult_typeid: 4, studentid: 3, academic_periodid: 1, subjectid: 2, classroomid: 6,…}]
1: [{id: 2, restult_typeid: 1, studentid: 3, academic_periodid: 1, subjectid: 1, classroomid: 6,…}]
]
我試過這個
$allSubjects = [];
$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,
'subjecttitle'=>$res->subjecttitle,
'score'=>$res->score_obtained,
]]);
}
uj5u.com熱心網友回復:
您可以簡單地嘗試按subjectid分組
$subs = [];
foreach($result as $res){
$subs[$res->subjectid][] = $res;
}
uj5u.com熱心網友回復:
你可以做這樣的事情
$data = [...] //your array
$grouped = array_values(
array_reduce($data, function(array $res, $item){
$subject = $data['subjectid'];
$existing = $res[$subject] ?? [];
$res[$subject] = array_merge($existing, [$item]);
return $res;
}, []));
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/394879.html
上一篇:無論如何要拆分curl請求嗎?
