在数组中添加所有相同类型的对象

我有一个对象数组,我试图在 php 中压缩它们。这是我的数组


$proposedStudentFeeCollection = [{"id":1,"student_id":"1","feeType_id":"2","proposed_fee":"5000"},

{"id":2,"student_id":"1","feeType_id":"1","proposed_fee":"5000"},

{"id":3,"student_id":"1","feeType_id":"1","proposed_fee":"2000"},

{"id":4,"student_id":"1","feeType_id":"2","proposed_fee":"15000"},

{"id":5,"student_id":"1","feeType_id":"2","proposed_fee":"5000"},

{"id":6,"student_id":"1","feeType_id":"11","proposed_fee":"9000"},

{"id":7,"student_id":"1","feeType_id":"1","proposed_fee":"20000"},

{"id":8,"student_id":"1","feeType_id":"16","proposed_fee":"1000"}]

我希望得到一个“新的”简化阵列,它给了我总结的一样feeType_id,像这样


[{"id":1,"student_id":"1","feetype_id":"1","proposed_fee":"27000"},

{"id":2,"student_id":"1","feetype_id":"2","proposed_fee":"25000"},

{"id":3,"student_id":"1","feetype_id":"11","proposed_fee":"9000"},

{"id":4,"student_id":"1","feetype_id":"16","proposed_fee":"1000"}]

我正在尝试这样做


$myArray = array();

for($i=0; $i<2; $i++){

    $tempObject = $proposedStudentFeeCollection[$i];

    for($j=count($proposedStudentFeeCollection)-1; $j >= 0; $j--) {

        if($tempObject->feetype_id == $proposedStudentFeeCollection[$j]->feetype_id){

            $tempObject->proposed_fee += $proposedStudentFeeCollection[$j]->proposed_fee;

            unset($proposedStudentFeeCollection[$j]);

        }

    }

    $myArray[] = $tempObject;

}

return $myArray;

但我没有得到答案。什么是正确的方法?


阿晨1998
浏览 106回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP