Как получить данные вложенного массива в PHP / Laravel? - PullRequest
0 голосов
/ 28 мая 2018
{`
+"insights": array:1 [▼
    0 => {#209 ▼
      +"group": "Provision"
      +"dataset": array:1 [▼
        0 => {#207 ▼
          +"group": "Provision"
          +"set": array:3 [▼
            0 => {#194 ▼
              +"name": "Neutral"
              +"value": 917
            }
            1 => {#203 ▶}
            2 => {#197 ▶}
          ]
        }
      ]
    }
  ]
  +"errorCode": 0
}`

Как получить свойство name внутри заданного массива?Я пробовал несколько способов, но он сохранил ошибку return, пытаясь получить свойство не-объекта .

Ответы [ 3 ]

0 голосов
/ 28 мая 2018

предположим, что вы предоставляете $response для вашего блэйда

$response =    {
    +"insights": array:1 [▼
        0 => {#209 ▼
          +"group": "Provision"
          +"dataset": array:1 [▼
            0 => {#207 ▼
              +"group": "Provision"
              +"set": array:3 [▼
                0 => {#194 ▼
                  +"name": "Neutral"
                  +"value": 917
                }
                1 => {#203 ▶}
                2 => {#197 ▶}
              ]
            }
          ]
        }
      ]
      +"errorCode": 0
    }

Вы должны перейти к ответу, в вашем бланке:

@foreach($response->insights as $insight)
   @foreach($insight['dataset'] as $dataset)
       @foreach($dataset['set'] as $set)
           <tr><td>$set['name']</td></tr>
       @endforeach
   @endforeach
@endforeach
0 голосов
/ 28 мая 2018

Вы должны просто пройти через это и делать все, что хотите с этим именем,

foreach($response->insights as $temp){
   foreach($temp->dataset as $var){
      foreach($var as $obj){
         $name = $obj->name;
      }
   }
}
0 голосов
/ 28 мая 2018
data_get($data, 'insights.0.dataset.0.set.0.name');

end, если у вас есть json - преобразовать его в массив -> json_decode (string);

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