PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-嵌套的foreach语句无效.救命?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

请原谅极端的编码风格.我是第一次使用API​​中的PHP和JSON字符串.

在这里尝试做的事情是打印出用户正在搜索的多个电影结果,如果您浏览它显然不起作用.这是一个搜索结果页面-电影海报和每个项目旁边的一些关键详细信息.

我想要在每个结果旁边显示内容之一是电影中列出的前5名演员的列表,分别为“主演”,然后电影中列出的所有导演为“导演”的列表.

毫无疑问,问题在于我已经嵌套了foreach语句.但是我不知道有其他方法可以做到这一点.

请最简单的答案对我来说是最好的.我不介意这是不好的做法,只要解决最快的办法就是完美的!

这是代码

  // check if there were any results
  if ($films_result == '["Nothing found."]' || $films_result == null) {
  }
  else {  
      // Loop through each film returned
      foreach ($films as $film) {

        // Set default poster image to use if film doesn't have one
        $BACkdrop_url = 'images/placeholder-film.gif';

        // Loop through each poster for current film
        foreach($film->BACkdrops as $BACkdrop) {
          if ($BACkdrop->image->size == 'thumb') {
            $BACkdrop_url = $BACkdrop->image->url;
          }
        }
        echo '<div class="view-films-film">
            <a href="film.PHP?id=' . $film->id . '"><img src="' . $BACkdrop_url . '" alt="' . strtolower($film->Name) . '" /></a>
                <div class="view-films-film-snippet">
                    <h2><a href="film.PHP?id=' . $film->id . '">' . strtolower($film->Name) . '</a></h2>
                    <img src="images/bbfc-' . strtolower($film->certification) . '.png" alt="" />
                    <h3>@R_888_4893@</h3>
                    <p>';
        $num_actors = 0;
        foreach ($films[0]->cast as $cast) {
        if ($cast->job == 'Actor') {
          echo '<a href="person.PHP?id=' . $cast->id . '">' . $cast->name . '</a> ';
          $num_actors++;
          if ($num_actors == 5)
            break;
        }
        }
        echo '      </p>
                    <h3>Director</h3>
                    <p>';
        foreach ($films[0]->cast as $cast) {
            if ($cast->job == 'Director') {
                echo '<a href="person.PHP?id=' . $cast->id . '">' . $cast->name . '</a> ';
            }
        }
        echo '      </p>
                </div>
            </div>';

      // End films
      }
  }

结果的示例如下:

其中第120行为foreach($films [0]-> cast如$cast){,而第131行为foreach($films [0]-> cast如$cast){

解决方法:

为什么在foreach中使用$films [0]($​​films为$film)?您应该使用$film-> cast对吗?并且您应该在循环开始时使用var_dump转储$film并进行检查-确保$cast是一个数组并且已填充.如果不是,请从那里重新工作.

大佬总结

以上是大佬教程为你收集整理的php-嵌套的foreach语句无效.救命?全部内容,希望文章能够帮你解决php-嵌套的foreach语句无效.救命?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: