php分别执行2个php for死循环环如何执行

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
include('simple_html_dom/simple_html_dom.php');
$list_html = new simple_html_dom();
$list_html-&load_file('/doc/guide/2.0/structure-applications');
var_dump($list_html-&find('a.list-group-item',0));exit();
这段代码执行之后在页面中无限dump数据出来,就像死循环一样如何解决?a.list-group-item元素是肯定存在的。。。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
用过javascript应该知道,这样dom其实是一棵树,即DOM Tree,每一个DOM节点(node)都会包含其直接父节点(parent node)和节点的序列号方便进行定位和遍历渲染出页面,请想想,嵌套层次如果稍微深一点的话,你var_dump肯定会因为层次太深而无法输出(没有安装xdebug时一般表现为超时),安装xdebug之后,请见:,一般会输出最多3层的嵌套深度,所以我建议不要使用var_dump去调试simple_html_dom或其simple_html_dom_node的对象,可以安装xdebug进行断点调试,玩点高端的哈,具体怎么调试已经超出本回答范围,请自行百度“xdebug断点调试”。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
内容比较多, 评论不让发, 只能发回答了...
输出的数据比较多, 是因为你dump了几个对象 但没到
无限dump数据的程度
class simple_html_dom_node#147 (9) {
public $nodetype =&
public $tag =&
string(1) "a"
public $attr =&
array(4) {
'class' =&
string(15) "list-group-item"
string(5) "#w0-1"
'data-toggle' =&
string(8) "collapse"
'data-parent' =&
string(3) "#w0"
public $children =&
array(1) {
class simple_html_dom_node#149 (9) {
public $nodetype =&
public $tag =&
string(1) "b"
public $attr =&
array(1) {
public $children =&
array(0) {
public $nodes =&
array(0) {
public $parent =&
public $_ =&
array(5) {
public $tag_start =&
private $dom =&
class simple_html_dom#3 (23) {
public $nodes =&
array(2) {
class simple_html_dom_node#148 (9) {
public $nodetype =&
public $tag =&
string(4) "text"
public $attr =&
array(0) {
public $children =&
array(0) {
public $nodes =&
array(0) {
public $parent =&
public $_ =&
array(1) {
public $tag_start =&
private $dom =&
class simple_html_dom#3 (23) {
class simple_html_dom_node#149 (9) {
public $nodetype =&
public $tag =&
string(1) "b"
public $attr =&
array(1) {
public $children =&
array(0) {
public $nodes =&
array(0) {
public $parent =&
public $_ =&
array(5) {
public $tag_start =&
private $dom =&
class simple_html_dom#3 (23) {
public $parent =&
class simple_html_dom_node#146 (9) {
public $nodetype =&
public $tag =&
string(3) "div"
public $attr =&
array(2) {
string(2) "w0"
'class' =&
string(10) "list-group"
public $children =&
array(32) {
class simple_html_dom_node#150 (9) {
class simple_html_dom_node#157 (9) {
class simple_html_dom_node#160 (9) {
class simple_html_dom_node#182 (9) {
class simple_html_dom_node#185 (9) {
class simple_html_dom_node#222 (9) {
class simple_html_dom_node#225 (9) {
class simple_html_dom_node#250 (9) {
class simple_html_dom_node#253 (9) {
class simple_html_dom_node#281 (9) {
class simple_html_dom_node#284 (9) {
class simple_html_dom_node#309 (9) {
class simple_html_dom_node#312 (9) {
class simple_html_dom_node#328 (9) {
class simple_html_dom_node#331 (9) {
class simple_html_dom_node#353 (9) {
class simple_html_dom_node#356 (9) {
class simple_html_dom_node#372 (9) {
class simple_html_dom_node#375 (9) {
class simple_html_dom_node#391 (9) {
class simple_html_dom_node#394 (9) {
class simple_html_dom_node#422 (9) {
class simple_html_dom_node#425 (9) {
class simple_html_dom_node#435 (9) {
class simple_html_dom_node#438 (9) {
class simple_html_dom_node#457 (9) {
class simple_html_dom_node#460 (9) {
class simple_html_dom_node#491 (9) {
class simple_html_dom_node#494 (9) {
class simple_html_dom_node#501 (9) {
class simple_html_dom_node#504 (9) {
public $nodes =&
array(47) {
class simple_html_dom_node#150 (9) {
class simple_html_dom_node#156 (9) {
class simple_html_dom_node#157 (9) {
class simple_html_dom_node#160 (9) {
class simple_html_dom_node#181 (9) {
class simple_html_dom_node#182 (9) {
class simple_html_dom_node#185 (9) {
class simple_html_dom_node#221 (9) {
class simple_html_dom_node#222 (9) {
class simple_html_dom_node#225 (9) {
class simple_html_dom_node#249 (9) {
class simple_html_dom_node#250 (9) {
class simple_html_dom_node#253 (9) {
class simple_html_dom_node#280 (9) {
class simple_html_dom_node#281 (9) {
class simple_html_dom_node#284 (9) {
class simple_html_dom_node#308 (9) {
class simple_html_dom_node#309 (9) {
class simple_html_dom_node#312 (9) {
class simple_html_dom_node#327 (9) {
class simple_html_dom_node#328 (9) {
class simple_html_dom_node#331 (9) {
class simple_html_dom_node#352 (9) {
class simple_html_dom_node#353 (9) {
class simple_html_dom_node#356 (9) {
class simple_html_dom_node#371 (9) {
class simple_html_dom_node#372 (9) {
class simple_html_dom_node#375 (9) {
class simple_html_dom_node#390 (9) {
class simple_html_dom_node#391 (9) {
class simple_html_dom_node#394 (9) {
class simple_html_dom_node#421 (9) {
class simple_html_dom_node#422 (9) {
class simple_html_dom_node#425 (9) {
class simple_html_dom_node#434 (9) {
class simple_html_dom_node#435 (9) {
class simple_html_dom_node#438 (9) {
class simple_html_dom_node#456 (9) {
class simple_html_dom_node#457 (9) {
class simple_html_dom_node#460 (9) {
class simple_html_dom_node#490 (9) {
class simple_html_dom_node#491 (9) {
class simple_html_dom_node#494 (9) {
class simple_html_dom_node#500 (9) {
class simple_html_dom_node#501 (9) {
class simple_html_dom_node#504 (9) {
public $parent =&
class simple_html_dom_node#144 (9) {
public $nodetype =&
public $tag =&
string(3) "div"
public $attr =&
array(1) {
public $children =&
array(1) {
public $nodes =&
array(3) {
public $parent =&
class simple_html_dom_node#142 (9) {
public $_ =&
array(5) {
public $tag_start =&
private $dom =&
class simple_html_dom#3 (23) {
public $_ =&
array(5) {
array(2) {
array(2) {
string(0) ""
public $tag_start =&
private $dom =&
class simple_html_dom#3 (23) {
public $root =&
class simple_html_dom_node#2 (9) {
public $nodes =&
array(1787) {
public $callback =&
public $lowercase =&
bool(true)
public $original_size =&
int(48883)
public $size =&
int(46297)
protected $pos =&
int(46297)
protected $doc =&
string(46297) "&!DOCTYPE html& &html lang="zh-CN"& &head& &meta charset="UTF-8"/& &meta http-equiv="X-UA-Compatible" content="IE=edge"& &meta name="viewport" content="width=device-width, initial-scale=1"& &meta name="csrf-param" content="_csrf"&
&meta name="csrf-token" content="Lld4a0wtQW9gBz46Hlw0VxcxEjwYRytCQyVBPzxvKR1tJEkBOl4WDQ=="& &title&搴旂敤涓讳綋 - Yii 2.0 鏉冨▉鎸囧崡 - 鏂囨。 - Yii Framework 涓?枃绀惧尯&/title& &meta name="keywords" content="Yii Framewok, 鏉冨▉鎸囧崡"& &meta name="description" content="Yi"...
protected $char =&
protected $cursor =&
protected $parent =&
class simple_html_dom_node#2 (9) {
protected $noise =&
array(90) {
protected $token_blank =&
string(4) "
protected $token_equal =&
string(4) " =/&"
protected $token_slash =&
string(6) " /&
protected $token_attr =&
string(2) " &"
public $_charset =&
string(5) "UTF-8"
public $_target_charset =&
string(5) "UTF-8"
protected $default_br_text =&
string(2) "
public $default_span_text =&
string(1) " "
protected $self_closing_tags =&
array(9) {
protected $block_tags =&
array(6) {
protected $optional_closing_tags =&
array(11) {
public $_ =&
array(5) {
array(4) {
array(4) {
array(3) {
array(3) {
array(3) {
array(3) {
string(0) ""
public $tag_start =&
private $dom =&
class simple_html_dom#3 (23) {
public $root =&
class simple_html_dom_node#2 (9) {
public $nodetype =&
public $tag =&
string(4) "root"
public $attr =&
array(0) {
public $children =&
array(2) {
public $nodes =&
array(4) {
public $parent =&
public $_ =&
array(2) {
public $tag_start =&
private $dom =&
public $nodes =&
array(1787) {
class simple_html_dom_node#2 (9) {
class simple_html_dom_node#4 (9) {
class simple_html_dom_node#5 (9) {
class simple_html_dom_node#6 (9) {
class simple_html_dom_node#7 (9) {
class simple_html_dom_node#8 (9) {
class simple_html_dom_node#9 (9) {
class simple_html_dom_node#10 (9) {
class simple_html_dom_node#11 (9) {
class simple_html_dom_node#12 (9) {
class simple_html_dom_node#13 (9) {
class simple_html_dom_node#14 (9) {
class simple_html_dom_node#15 (9) {
class simple_html_dom_node#16 (9) {
class simple_html_dom_node#17 (9) {
class simple_html_dom_node#18 (9) {
class simple_html_dom_node#19 (9) {
class simple_html_dom_node#20 (9) {
class simple_html_dom_node#21 (9) {
class simple_html_dom_node#22 (9) {
class simple_html_dom_node#23 (9) {
class simple_html_dom_node#24 (9) {
class simple_html_dom_node#25 (9) {
class simple_html_dom_node#26 (9) {
class simple_html_dom_node#27 (9) {
class simple_html_dom_node#28 (9) {
class simple_html_dom_node#29 (9) {
class simple_html_dom_node#30 (9) {
class simple_html_dom_node#31 (9) {
class simple_html_dom_node#32 (9) {
class simple_html_dom_node#33 (9) {
class simple_html_dom_node#34 (9) {
class simple_html_dom_node#35 (9) {
class simple_html_dom_node#36 (9) {
class simple_html_dom_node#37 (9) {
class simple_html_dom_node#38 (9) {
class simple_html_dom_node#39 (9) {
class simple_html_dom_node#40 (9) {
class simple_html_dom_node#41 (9) {
class simple_html_dom_node#42 (9) {
class simple_html_dom_node#43 (9) {
class simple_html_dom_node#44 (9) {
class simple_html_dom_node#45 (9) {
class simple_html_dom_node#46 (9) {
class simple_html_dom_node#47 (9) {
class simple_html_dom_node#48 (9) {
class simple_html_dom_node#49 (9) {
class simple_html_dom_node#50 (9) {
class simple_html_dom_node#51 (9) {
class simple_html_dom_node#52 (9) {
class simple_html_dom_node#53 (9) {
class simple_html_dom_node#54 (9) {
class simple_html_dom_node#55 (9) {
class simple_html_dom_node#56 (9) {
class simple_html_dom_node#57 (9) {
class simple_html_dom_node#58 (9) {
class simple_html_dom_node#59 (9) {
class simple_html_dom_node#60 (9) {
class simple_html_dom_node#61 (9) {
class simple_html_dom_node#62 (9) {
class simple_html_dom_node#63 (9) {
class simple_html_dom_node#64 (9) {
class simple_html_dom_node#65 (9) {
class simple_html_dom_node#66 (9) {
class simple_html_dom_node#67 (9) {
class simple_html_dom_node#68 (9) {
class simple_html_dom_node#69 (9) {
class simple_html_dom_node#70 (9) {
class simple_html_dom_node#71 (9) {
class simple_html_dom_node#72 (9) {
class simple_html_dom_node#73 (9) {
class simple_html_dom_node#74 (9) {
class simple_html_dom_node#75 (9) {
class simple_html_dom_node#76 (9) {
class simple_html_dom_node#77 (9) {
class simple_html_dom_node#78 (9) {
class simple_html_dom_node#79 (9) {
class simple_html_dom_node#80 (9) {
class simple_html_dom_node#81 (9) {
class simple_html_dom_node#82 (9) {
class simple_html_dom_node#83 (9) {
class simple_html_dom_node#84 (9) {
class simple_html_dom_node#85 (9) {
class simple_html_dom_node#86 (9) {
class simple_html_dom_node#87 (9) {
class simple_html_dom_node#88 (9) {
class simple_html_dom_node#89 (9) {
class simple_html_dom_node#90 (9) {
class simple_html_dom_node#91 (9) {
class simple_html_dom_node#92 (9) {
class simple_html_dom_node#93 (9) {
class simple_html_dom_node#94 (9) {
class simple_html_dom_node#95 (9) {
class simple_html_dom_node#96 (9) {
class simple_html_dom_node#97 (9) {
class simple_html_dom_node#98 (9) {
class simple_html_dom_node#99 (9) {
class simple_html_dom_node#100 (9) {
class simple_html_dom_node#101 (9) {
class simple_html_dom_node#102 (9) {
class simple_html_dom_node#103 (9) {
class simple_html_dom_node#104 (9) {
class simple_html_dom_node#105 (9) {
class simple_html_dom_node#106 (9) {
class simple_html_dom_node#107 (9) {
class simple_html_dom_node#108 (9) {
class simple_html_dom_node#109 (9) {
class simple_html_dom_node#110 (9) {
array(1) {
array(1) {
array(1) {
array(2) {
array(2) {
array(2) {
array(1) {
array(1) {
array(1) {
'option' =&
array(1) {
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:3被浏览1255分享邀请回答05 条评论分享收藏感谢收起0添加评论分享收藏感谢收起写回答解决PHP里大量数据循环时内存耗尽的方法
字体:[ ] 类型:转载 时间:
错误信息提示最大内存已经耗尽,该如何解决呢?下面小编给大家解决PHP里大量数据循环时内存耗尽的问题,需要的朋友可以参考下
最近在开发一个PHP程序的时候遇到如下一问题:
PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted
错误信息显示允许的最大内存已经耗尽。遇到这样的错误起初让我很诧异,但转眼一想,也不奇怪,因为我正在开发的这个程序是要用一个foreach循环语句在一个有4万条记录的表里全表搜索具有特定特征的数据,也就是说,一次要把4万条数据取出,然后逐条检查每天数据。可想而知,4万条数据全部加载到内存中,内存不爆才怪。
毕竟编程这么多年,我隐约记得PHP里提供有非一次全部加载数据的API,是像处理流媒体那样,随用随取随丢、数据并不会积累在内存的查询方法。经过简单的搜索,果然在官方网站上找到的正确的用法。
这个问题在PHP的官方网站上叫缓冲查询和非缓冲查询(Buffered and Unbuffered queries)。 PHP的查询缺省模式是缓冲模式。也就是说,查询数据结果会一次全部提取到内存里供PHP程序处理。这样给了PHP程序额外的功能,比如说,计算行数,将 指针指向某一行等。更重要的是程序可以对数据集反复进行二次查询和过滤等操作。但这种缓冲查询模式的缺陷就是消耗内存,也就是用空间换速度。
相对的,另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直到数据全部取完。
很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。
对于PHP的缓冲模式查询大家都知道,下面列举的例子是如何执行非缓冲查询API。
非缓冲查询方法一: mysqli
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$uresult = $mysqli-&query("SELECT Name FROM City", MYSQLI_USE_RESULT);
if ($uresult) {
while ($row = $uresult-&fetch_assoc()) {
echo $row['Name'] . PHP_EOL;
$uresult-&close();
非缓冲查询方法二: pdo_mysql
$pdo = new PDO("mysql:host=dbname=world", 'my_user', 'my_pass');
$pdo-&setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
$uresult = $pdo-&query("SELECT Name FROM City");
if ($uresult) {
while ($row = $uresult-&fetch(PDO::FETCH_ASSOC)) {
echo $row['Name'] . PHP_EOL;
非缓冲查询方法三: mysql
$conn = mysql_connect("localhost", "my_user", "my_pass");
= mysql_select_db("world");
$uresult = mysql_unbuffered_query("SELECT Name FROM City");
if ($uresult) {
while ($row = mysql_fetch_assoc($uresult)) {
echo $row['Name'] . PHP_EOL;
以上内容就是小编给大家分享的解决PHP里大量数据循环时内存耗尽的方法,希望对大家有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具10被浏览4634分享邀请回答3添加评论分享收藏感谢收起1添加评论分享收藏感谢收起17:46 提问
为什么php这样写会死循环
$sql="select * from user";
$res=mysql_query($sql);
$row=mysql_fetch_row($res);
while($row) {
echo 'A row';
以上代码会死循环而下面的正常
$sql="select * from user";
$res=mysql_query($sql);
while($row=mysql_fetch_row($res)) {
echo 'A row';
为什么第一种会死循环呢
按赞数排序
问题很简单:
首先理解函数:
mysql_fetch_row() 从和结果标识 data 关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
依次调用 mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。
$row只获取一次结果集。
那么while默认这个$row值恒为True。所以,无限死循环。
第二个:while()中$row=mysql_fetch_row($res)
默认循环一次 $row=mysql_fetch_row($res) $row获取一个记录所以为true,正常循环。
每次循环$row=mysql_fetch_row($res) 都会执行一次。直到记录没有返回
所以,停止循环。
其他相关推荐

我要回帖

更多关于 php基本知识 的文章

 

随机推荐