PHP foreach循环加载在线图片仅执行一次问题求助
解决PHP foreach循环仅执行一次的问题
嘿,问题一眼就能看出来啦!你的foreach语句末尾多了个不必要的分号,这直接导致循环逻辑出错了。
错误原因分析
当你写<?php foreach ($popularmovies as $popmovies); ?>的时候,这个分号会告诉PHP:“这个循环的执行体就到这了,不需要做任何操作”。于是PHP会默默遍历完$popularmovies里的所有元素,但全程没有执行任何输出。等循环结束后,$popmovies变量只会保留最后一个元素的值,后面的<img>标签自然只会执行一次,所以只显示一张图。
修正后的代码
把那个多余的分号去掉,让<img>标签成为循环的执行体就行,推荐用PHP的替代语法(更适合嵌入HTML场景):
<?php foreach ($popularmovies as $popmovies): ?> <img class="img-responsive" src="<?php echo 'http://' . $popmovies->Movie_cover; ?>" alt="" width="210" height="315" > <?php endforeach; ?>
或者用大括号包裹的常规写法也完全可以:
<?php foreach ($popularmovies as $popmovies) { ?> <img class="img-responsive" src="<?php echo 'http://' . $popmovies->Movie_cover; ?>" alt="" width="210" height="315" > <?php } ?>
额外检查建议
如果修正后还是有问题,可以先确认$popularmovies确实包含多个有效元素:
<?php var_dump($popularmovies); ?>
看看输出的结构,确保每个元素都有Movie_cover属性,并且属性值是正确的图片路径(注意如果路径本身已经包含http://,就不要再重复拼接了,避免出现http://http://xxx的错误路径)。
内容的提问来源于stack exchange,提问作者Gulzar Ali
相关产品推荐
相关产品推荐

