Как вы можете переименовать все поля в массиве JSON, используя Laravel, которые соответствуют X? - PullRequest
1 голос
/ 05 июня 2019

Мой массив выглядит так:

array:145 [▼
  144 => array:2 [▼
    0 => 1559739600000
    1 => 39103.5828125
  ]
  143 => array:2 [▼
    0 => 1559739000000
    1 => 39102.619270833
  ]
  142 => array:2 [▼
    0 => 1559738400000
    1 => 39101.740234375
  ]
...

Мне нужно изменить 0 на время и 1 на данные, чтобы я мог работать с ними в Laravel. Если я пытаюсь ссылаться на них в Laravel как $ 0, я получаю ошибки T_Variable из-за правил, согласно которым переменные не должны начинаться с цифр. Так что я в затруднении. В итоге получается что-то вроде этого:

array:145 [▼
  144 => array:2 [▼
    time => 1559739600000
    data => 39103.5828125
  ]
  143 => array:2 [▼
    time => 1559739000000
    data => 39102.619270833
  ]
  142 => array:2 [▼
    time => 1559738400000
    data => 39101.740234375
  ]
...

1 Ответ

0 голосов
/ 06 июня 2019

Вы можете сделать что-то подобное, используя Laravel Collection.

$result = collect($array)->map(function ($item) {
    return [
        'time' => $item[0],
        'data' => $item[1],
    ];
})->all();

Я нахожу такой подход довольно распространенным в сообществе Laravel. Для получения дополнительной информации, пожалуйста, проверьте: https://laravel.com/docs/5.8/collections

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...