我有以下PHP。基本上,我从一个网站的多个页面获得类似的数据(当前拥有一堆棒球运动员档案的网站的本垒打数量)。我带来的JSON拥有我想要抓取的所有不同配置文件的所有URL,因此我需要PHP来运行URL并获取数据。但是,以下PHP仅从第一个URL获取信息。我可能犯了一个愚蠢的错误。任何人都可以看到为什么它没有通过所有的URL?
include('simple_html_dom.php');
$json = file_get_contents("http://example.com/homeruns.json");
$elements = json_decode($json);
foreach ($elements as $element){
$html = new simple_html_dom();
$html->load_file($element->profileurl);
$currenthomeruns = $html->find('.homeruns .current',0);
echo $element->name, " currently has the following number of homeruns: ", strip_tags($currenthomeruns);
return $html;
}
答案 0 :(得分:3)
等等......你正在使用return $ html。为什么?返回将打破你的功能,从而阻止你的foreach。
如果您确实试图从函数中获取所有元素的$html
,则应将每个$html
推入一个数组,然后在循环后返回该数组。
答案 1 :(得分:0)
因为你return
。 return
保留当前的方法,函数或脚本,其中包括每个循环。使用PHP5.5,您可以使用yield
让函数像生成器一样运行,但现在这绝对不在范围内。
答案 2 :(得分:0)
除非你的大括号关闭,否则你会在循环的最后返回,所以循环永远不会迭代。