我有一個像下面這樣的結構,有電影,每部電影的型別和其他一些與問題無關的資訊。
轉儲:
dd($moviesInformation['movies']['data']);
顯示:
^ array:8 [▼
0 => array:22 [?]
1 => array:22 [▼
"id" => 75
"name" => array:1 [▼
"label" => "movie title"
]
"genres" => array:2 [▼
"data" => array:32 [▼
0 => array:3 [▼
"id" => 64
"name" => array:1 [▼
"label" => "Comedy"
]
"on_request" => 1
]
1 => array:3 [▼
"id" => 65
"name" => array:1 [▼
"label" => "Action"
]
"on_request" => 1
]
2 => array:3 [?]
3 => array:3 [?]
4 => array:3 [?]
5 => array:3 [?]
]
"meta" => array:1 [?]
]
...
]
2 => array:22 [?]
3 => array:22 [?]
4 => array:22 [?]
5 => array:22 [?]
6 => array:22 [?]
7 => array:22 [?]
輸出應該只是以“,”分隔的流派的所有電影的唯一值,例如:
Comedy, Action, ...
但我不明白如何正確地實作這一點。你知道怎么可能嗎?
uj5u.com熱心網友回復:
您的主要問題是您genre在示例中沒有像陣列一樣對待并且還缺少嵌套data陣列。
集合將使這個邏輯更具可讀性。這應該給你一個逗號分隔的流派字串。
collect(data_get($moviesInformation, 'genres.data', []))
->map(function ($genre) {
return data_get($genre, 'name.label');
})->implode(', ')
Tinkerwell 中輸出的螢屏截圖。

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/461952.html
