Laravel: массив внутри массива показывает попытку доступа к смещению массива по значению типа int

Я пытался напечатать массив внутри цикла 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

Какая может быть возможная ошибка и как ее решить?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
60
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам следует ознакомиться с основами работы с массивами, вам не нужно перебирать индекс, поскольку это всего лишь многомерный массив. Вы можете получить доступ к чему напрямую:

$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

Другие вопросы по теме