問題背景
您好,我有電影劇組成員的以下數組:推一組值基於相同的陣列中的另一個獨特的價值數組
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
]
]
正如你可以看到這是我通過TMDb API獲得的積分列表。建立上述數組的第一個步驟是過濾掉所有的工作,我不想顯示,這裏的我是怎麼做的:
$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"
]
我也考慮過迫降在我的邏輯這樣做的,而不是在我的刀片上做模板,但我不知道如何實現這一點。
你會怎麼做到這一點?
哇!這非常好,非常感謝,我還不熟悉Laravel的collection()功能。這真太了不起了。 – gmask
是的。你可能會考慮去除鏈式「implode」方法,並用'pluck('job')'替換它。這樣數據將保持爲一個數組,並且您可以選擇如何在刀片模板中輸出這些作業,所以也可以 - 例如 - 將作業輸出到某種列表中,而不是用逗號分隔的靜態字符串。顯示數據是當然Blade的工作。 –
我已將此添加到我的答案中。 –