То, как вы используете элемент startTime
, не учитывает значение, которое не найдено. Бит ?? null
используется только после того, как вы попытаетесь преобразовать его во время, а затем в дату ...
'startTime'=>date('Y-m-d H:i', strtotime($item['startTime'])) ?? null,
В этом случае вам лучше использовать старый метод isset()
. ..
'startTime'=>isset($item['startTime']) ?date('Y-m-d H:i', strtotime($item['startTime']))
: null,
То же самое с ...
bcdiv($item['odds'][0]['regular'][0]['odds'][0]['decimalValue'],1,2) ?? null
...
isset($item['odds'][0]['regular'][0]['odds'][0]['decimalValue']) ?
bcdiv($item['odds'][0]['regular'][0]['odds'][0]['decimalValue'],1,2)
: null