Переход к многомерному массиву - PullRequest
2 голосов
/ 21 октября 2019

Я пытаюсь перебрать этот массив, чтобы получить все значения лиги (league_id, name, type и т. Д.)

array:1 [▼
"api" => array:2 [▼
"results" => 970
"leagues" => array:970 [▼
  0 => array:13 [▼
    "league_id" => 1
    "name" => "World Cup"
    "type" => "Cup"
    "country" => "World"
    "country_code" => null
    "season" => 2018
    "season_start" => "2018-06-14"
    "season_end" => "2018-07-15"
    "logo" => "https://media.api-football.com/leagues/1.png"
    "flag" => null
    "standings" => 1
    "is_current" => 1
  ]
  1 => array:13 [▼
    "league_id" => 2
    "name" => "Premier League"
    "type" => "League"
    "country" => "England"
    "country_code" => "GB"
    "season" => 2018
    "season_start" => "2018-08-10"
    "season_end" => "2019-05-12"
    "logo" => "https://media.api-football.com/leagues/2.png"
    "flag" => "https://media.api-football.com/flags/gb.svg"
    "standings" => 1
    "is_current" => 0
  ]
  .......

, но до сих пор со следующим кодом:

$request = json_decode($request->getBody()->getContents(), true);
foreach ($request as $array=>$val) {
   foreach ($val['leagues'] as $id) {
        dd($id);
   }
}

единственное, что я могу получить, это только первый массив, а не остальные:

array:13 [▼
"league_id" => 1
"name" => "World Cup"
"type" => "Cup"
"country" => "World"
"country_code" => null
"season" => 2018
"season_start" => "2018-06-14"
"season_end" => "2018-07-15"
"logo" => "https://media.api-football.com/leagues/1.png"
"flag" => null
"standings" => 1
"is_current" => 1
]

любая помощь?

1 Ответ

3 голосов
/ 21 октября 2019

Функция dd(), которую вы вызываете, убивает выполнение вашего скрипта на первой итерации.

Из Документов Laravel :

Функция dd выводит заданные переменные и завершает выполнение скрипта.

ЕслиВы не хотите останавливать выполнение своего скрипта, вместо этого используйте функцию dump.

Просто выполните итерации по этому поводу так:

$request = json_decode($request->getBody()->getContents(), true);
foreach ($request['leagues'] as $id=>$league) {
  print_r(compact('id', 'league')); // To see the id and value array
}

Надеюсь, это поможет,

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