for循环 - 新手PHP代码问题,求解关于simple_html_dom
PHPz
PHPz 2017-04-10 16:01:40
[PHP讨论组]

入门PHP中,不知道为什么循环读取数据无法实现,始终是重复读取同一个页面的数据,高手给指点一下,始终没招到代码的问题。


<?php
header("Content-type: text/html; charset=utf-8"); 
include('simple_html_dom.php');
echo '<ul class="postlist">';
for($page = 1;$page < 5;$page++){
    $url = 'http://www.chinaz.com/game/lol/'.$page.'.shtml';
    $html = file_get_html($url);
    $i = 0;
    foreach($html->find('.lolcatlist li') as $e){
        $item['url'] = $e->find('a',0)->href;
        $item['title'] = $e->find('h3',0)->plaintext;
        @$item['img'] = $e->find('img',0)->src;
        $articles[] = $item;
            if(!empty($articles[$i]['img'])){
            echo '<li><a href="'.$articles[$i]['url'].'"><img width="180" height="135" src="'.$articles[$i]['img'].'" alt="'.$articles[$i]['title'].'"></a></li>';
            }
        $i++;
    }
}
echo '</ul>';
?>
<style>
.postlist{
    list-style:none;
}
.postlist li{padding:20px;border:1px solid #ddd;float:left;}
</style>
 
PHPz
PHPz

学习是最好的投资!

全部回复(3)
怪我咯

你用querylist吧,simplehtmldom太耗内存了

PHP中文网

$articles在foreach前重新声明一下

    $articles=array();
    foreach($html->find('.lolcatlist li') as $e){
        $item['url'] = $e->find('a',0)->href;
        $item['title'] = $e->find('h3',0)->plaintext;
        @$item['img'] = $e->find('img',0)->src;
        $articles[] = $item;
        if(!empty($articles[$i]['img'])){
            echo '<li><a href="'.$articles[$i]['url'].'"><img width="180" height="135" src="'.$articles[$i]['img'].'" alt="'.$articles[$i]['title'].'"></a></li>';
        }
        $i++;
    }
PHPz

你把$html = file_get_html($url);打印出来就晓得了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号