Вопрос фон
Здравствуйте, У меня есть следующий массив членов экипажа фильма:Нажимаем набор значений массива на основе другого уникального значения в том же массиве
array:7 [▼
0 => array:6 [▼
"credit_id" => "52fe49dd9251416c750d5e9d"
"department" => "Directing"
"id" => 139098
"job" => "Director"
"name" => "Derek Cianfrance"
"profile_path" => "/zGhozVaRDCU5Tpu026X0al2lQN3.jpg"
]
1 => array:6 [▼
"credit_id" => "52fe49dd9251416c750d5ed7"
"department" => "Writing"
"id" => 139098
"job" => "Story"
"name" => "Derek Cianfrance"
"profile_path" => "/zGhozVaRDCU5Tpu026X0al2lQN3.jpg"
]
2 => array:6 [▼
"credit_id" => "52fe49dd9251416c750d5edd"
"department" => "Writing"
"id" => 132973
"job" => "Story"
"name" => "Ben Coccio"
"profile_path" => null
]
3 => array:6 [▼
"credit_id" => "52fe49dd9251416c750d5ee3"
"department" => "Writing"
"id" => 139098
"job" => "Screenplay"
"name" => "Derek Cianfrance"
"profile_path" => "/zGhozVaRDCU5Tpu026X0al2lQN3.jpg"
]
4 => array:6 [▼
"credit_id" => "52fe49dd9251416c750d5ee9"
"department" => "Writing"
"id" => 132973
"job" => "Screenplay"
"name" => "Ben Coccio"
"profile_path" => null
]
5 => array:6 [▼
"credit_id" => "52fe49dd9251416c750d5eef"
"department" => "Writing"
"id" => 1076793
"job" => "Screenplay"
"name" => "Darius Marder"
"profile_path" => null
]
11 => array:6 [▼
"credit_id" => "52fe49de9251416c750d5f13"
"department" => "Camera"
"id" => 54926
"job" => "Director of Photography"
"name" => "Sean Bobbitt"
"profile_path" => null
]
]
Как вы можете видеть это это список кредитов, которые я получаю через API TMDb. Первый шаг построения выше массив был отфильтровать все рабочие места, которые я не хочу показывать, вот как я это сделал:
$jobs = [ 'Director', 'Director of Photography', 'Cinematography', 'Cinematographer', 'Story', 'Short Story', 'Screenplay', 'Writer' ];
$crew = array_filter($tmdbApi, function ($crew) use ($jobs) {
return array_intersect($jobs, $crew);
});
Мой вопрос
Я хотел бы выяснить, как взять предыдущий результат один шаг дальше и объединить jobs
где id
то же самое, с тем, чтобы в конечном итоге с чем-то вроде этого, например:
array:7 [▼
0 => array:6 [▼
"credit_id" => "52fe49dd9251416c750d5e9d"
"department" => "Directing"
"id" => 139098
"job" => "Director, Story, Screenplay"
"name" => "Derek Cianfrance"
"profile_path" => "/zGhozVaRDCU5Tpu026X0al2lQN3.jpg"
]
Я также считал канав, делая это в моей логике и вместо делаю это в моем клипе t эмблема, но я не уверен, как это достичь.
Как бы вы это сделали?
Wow! Это отлично, спасибо большое, я до сих пор не знаком с функциональностью Laravel's collection(). Это потрясающе. – gmask
Да, это так. Вы можете подумать об удалении прикованного метода 'implode' и заменить его' pluck ('job') '. Таким образом, данные будут оставаться в виде массива, и вы можете выбрать способ вывода этих заданий в шаблон вашего клинка, так что также можно, например, вывести задания в некотором виде вместо статической строки, разделенной запятой , Отображение данных - это, конечно же, работа Blade. –
Я добавил это к своему ответу. –