如何从TMDB API返回的数组中动态提取所有剧集季号?
解决方案:动态提取剧集所有季号
TMDB剧集API返回的数据里,seasons字段本身就是包含所有季信息的数组,你只需遍历这个数组就能拿到每一季的季号,无需局限于取第一个元素。
问题代码示例(推测)
假设你之前的代码类似这样,仅提取了第一个季:
// $tvShowData 为TMDB API返回的单部剧集数据 $firstSeason = $tvShowData['seasons'][0]['season_number']; echo $firstSeason;
修改后的代码(动态获取所有季号)
遍历seasons数组,批量提取季号,还可按需过滤特殊条目:
// $tvShowData 为TMDB返回的剧集数据 $allSeasonNumbers = []; // 遍历所有季数据 foreach ($tvShowData['seasons'] as $season) { // 可选:排除TMDB标记的"总集/特辑"(season_number为0的条目) if ($season['season_number'] > 0) { $allSeasonNumbers[] = $season['season_number']; } } // 输出结果示例:转为逗号分隔字符串 echo implode(', ', $allSeasonNumbers); // 或直接打印数组结构查看 print_r($allSeasonNumbers);
关键说明
seasons数组里的每一项都包含对应季的season_number字段,直接遍历即可全覆盖- 若不需要"总集/特辑"类内容,保留
season_number > 0的过滤条件即可;如果需要包含这类内容,去掉该判断就行 - 批量处理多部剧集时,在外层再加一层循环,对每个剧集的
seasons数组执行上述逻辑即可
内容的提问来源于stack exchange,提问作者David Chriss
相关产品推荐
相关产品推荐

