用php中的foreach循环创建对象数组

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

我目前的状况

$arr = array(
    array(
        'date'=>$response2->Msg[0]->Date, 'sender'=>$response2->Msg[0]->Sender, 'message'=>$response2->Msg[0]->Message
    ),
    array(
        'date'=>$response2->Msg[1]->Date, 'sender'=>$response2->Msg[1]->Sender, 'message'=>$response2->Msg[1]->Message
    )
);
echo json_encode($arr);
var_dump($response2);

上面的代码创建了我需要的对象数组。输出示例:

[{date":"06-Jan-20 04:00:00","sender":"dsdssf","message":"aaaaa},{date":"06-Jan-20 04:00:00","sender":"addfdfd","message":"ncccc2"]

我想通过循环执行相同的操作

我尝试过的

foreach ($response2->Msg as $key => $value) {
    $arr= array(
        'date'=>$value->Date, 'sender'=>$value->Sender, 'message'=>$value->Message
    );
}

上面的代码给出的输出仅存储最后一个对象

{"date":"06-Jan-20 04:00:00","sender":"addfdfd","message":"ncccc2"}
php
1个回答
0
投票

尝试

$arr = array();
foreach ($response2->Msg as $key => $value) {
    $rec = array('date'=>$value->Date, 'sender'=>$value->Sender, 'message'=>$value->Message);
    array_push($arr, $rec);
}
© www.soinside.com 2019 - 2024. All rights reserved.