Как преобразовать массив с объектами в один объект, например Laravel Объект запроса - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть такой массив:

[{FirstName: "fff"},
{LastName: null},
{Nationality: null},
{Year: null},
{Month: null},
{Day: null}]

Мне нужно преобразовать его в один объект, подобный этому: (с Laravel или с JS)

{FirstName: "fff",
LastName: null,
Nationality: null,
Year: null,
Month: null,
Day: null}

Мне нужен один объект в точности как Laravel объект запроса. Как я могу это сделать?

1 Ответ

1 голос
/ 23 февраля 2020

Предполагая, что гнездо массива с объектами является переменной $a

function multipleObjsToObj($a) {
    $b = json_encode($a, true);     // encode to string
    $array = json_decode($b, true); // decode to all array

    // use collection flatMap or mapWithKeys to flatten with keys:
    // $flatten_array = collect($array)->mapWithKeys(function($item){return $item;})->toArray();
    $flatten_array = collect($array)->flatMap(function($item){return $item;})->all();

    return (object) $flatten_array; // here become to object.
}
...