Я пытался напечатать массив внутри цикла foreach следующим образом:
@foreach($response['results'] as $row)
<tr>
<td>
@foreach($row['status'] as $r)
Status- {{$r['groupName']}} // it shows above error on this line
@endforeach
</td>
<td>{{$row['from'] - $row['sentAt']}}</td>
<td>{{$row['to'] - $row['doneAt']}}</td>
</tr>
@endforeach
Я проверил каждый ответ и получил значение статуса для каждого ответа. Вот мой ответ массива:
"results" => array:14 [▼
0 => array:13 [▼
"messageSegments" => array:3 [▶]
"sentAt" => "2024-02-23T04:41:01.881Z"
"doneAt" => "2024-02-23T04:41:03.267Z"
"mmsCount" => 3
"mccMnc" => "310260"
"price" => array:2 [▶]
"status" => array:5 [▼
"groupId" => 3
"groupName" => "DELIVERED"
"id" => 5
"name" => "DELIVERED_TO_HANDSET"
"description" => "Message delivered to handset"
]
"error" => array:5 [▼
"groupId" => 0
"groupName" => "OK"
"id" => 0
"name" => "NO_ERROR"
"description" => "No Error"
]
"applicationId" => "default"
]
1 => array:13 [▶]
2 => array:14 [▶]
3 => array:14 [▶]
Но он показывает следующую ошибку:
Попытка получить доступ к смещению массива по значению типа int
Какая может быть возможная ошибка и как ее решить?






Вам следует ознакомиться с основами работы с массивами, вам не нужно перебирать индекс, поскольку это всего лишь многомерный массив. Вы можете получить доступ к чему напрямую:
$row['status']['groupName']
Пока вы зацикливаете свой массив статусов, вашим первым элементом является groupId со значением 3, целое число. Когда вы попытаетесь сделать $r['groupName'], где $r — целое число, у вас возникнет проблема, упомянутая в вопросе. Вместо:
@foreach($response['results'] as $row)
<tr>
<td>
Status- {{$row['status']['groupName']}} // it shows above error on this line
</td>
<td>{{$row['from'] - $row['sentAt']}}</td>
<td>{{$row['to'] - $row['doneAt']}}</td>
</tr>
@endforeach