如何使用对象变量(var_dump)?

时间:2012-11-11 11:00:44

标签: php simple-html-dom

我只是var_dump'ed对象并得到这样的东西:

    object(simple_html_dom)#1 (23) { ["root"]=> object(simple_html_dom_node)#2 (9) { 
["nodetype"]=> int(5) ["tag"]=> string(4) "root" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(1) { [0]=> object(simple_html_dom_node)#3 (9) { ["nodetype"]=> int(3) ["tag"]=> string(4) "text" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(0) { } ["parent"]=> *RECURSION* ["_"]=> array(1) { [4]=> string(51) "'http://www.lnik.com/num' 'http://www.lnik.com/com'" } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } } ["parent"]=> NULL ["_"]=> array(2) { [0]=> int(-1) [1]=> int(2) } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } ["nodes"]=> array(2) { [0]=> object(simple_html_dom_node)#2 (9) { ["nodetype"]=> int(5) ["tag"]=> string(4) "root" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(1) { [0]=> object(simple_html_dom_node)#3 (9) { ["nodetype"]=> int(3) ["tag"]=> string(4) "text" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(0) { } ["parent"]=> *RECURSION* ["_"]=> array(1) { [4]=> string(51) "'http://www.lnik.com/num' 'http://www.lnik.com/com'" } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } } ["parent"]=> NULL ["_"]=> array(2) { [0]=> int(-1) [1]=> int(2) } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } [1]=> object(simple_html_dom_node)#3 (9) { ["nodetype"]=> int(3) ["tag"]=> string(4) "text" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(0) { } ["parent"]=> object(simple_html_dom_node)#2 (9) { ["nodetype"]=> int(5) ["tag"]=> string(4) "root" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(1) { [0]=> *RECURSION* } ["parent"]=> NULL ["_"]=> array(2) { [0]=> int(-1) [1]=> int(2) } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } ["_"]=> array(1) { [4]=> string(51) "'http://www.lnik.com/num' 'http://www.lnik.com/com'" } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } } ["callback"]=> NULL ["lowercase"]=> bool(true) ["original_size"]=> int(51) ["size"]=> int(51) ["pos":protected]=> int(51) ["doc":protected]=> string(51) "'http://www.lnik.com/num' 'http://www.lnik.com/com'" ["char":protected]=> NULL ["cursor":protected]=> int(2) ["parent":protected]=> object(simple_html_dom_node)#2 (9) { ["nodetype"]=> int(5) ["tag"]=> string(4) "root" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(1) { [0]=> object(simple_html_dom_node)#3 (9) { ["nodetype"]=> int(3) ["tag"]=> string(4) "text" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(0) { } ["parent"]=> *RECURSION* ["_"]=> array(1) { [4]=> string(51) "'http://www.lnik.com/num' 'http://www.lnik.com/com'" } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } } ["parent"]=> NULL ["_"]=> array(2) { [0]=> int(-1) [1]=> int(2) } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=> *RECURSION* } ["noise":protected]=> array(0) { } ["token_blank":protected]=> string(4) " " ["token_equal":protected]=> string(4) " =/>" ["token_slash":protected]=> string(6) " /> " ["token_attr":protected]=> string(2) " >" ["_charset"]=> string(5) "UTF-8" ["_target_charset"]=> string(5) "UTF-8" ["default_br_text":protected]=> string(2) " " ["default_span_text"]=> string(1) " " ["self_closing_tags":protected]=> array(9) { ["img"]=> int(1) ["br"]=> int(1) ["input"]=> int(1) ["meta"]=> int(1) ["link"]=> int(1) ["hr"]=> int(1) ["base"]=> int(1) ["embed"]=> int(1) ["spacer"]=> int(1) } ["block_tags":protected]=> array(6) { ["root"]=> int(1) ["body"]=> int(1) ["form"]=> int(1) ["div"]=> int(1) ["span"]=> int(1) ["table"]=> int(1) } ["optional_closing_tags":protected]=> array(11) { ["tr"]=> array(3) { ["tr"]=> int(1) ["td"]=> int(1) ["th"]=> int(1) } ["th"]=> array(1) { ["th"]=> int(1) } ["td"]=> array(1) { ["td"]=> int(1) } ["li"]=> array(1) { ["li"]=> int(1) } ["dt"]=> array(2) { ["dt"]=> int(1) ["dd"]=> int(1) } ["dd"]=> array(2) { ["dd"]=> int(1) ["dt"]=> int(1) } ["dl"]=> array(2) { ["dd"]=> int(1) ["dt"]=> int(1) } ["p"]=> array(1) { ["p"]=> int(1) } ["nobr"]=> array(1) { ["nobr"]=> int(1) } ["b"]=> array(1) { ["b"]=> int(1) } ["option"]=> array(1) { ["option"]=> int(1) } } } 

如何回显一些对象的变量?试过$ object->链接;等但不能正常工作

2 个答案:

答案 0 :(得分:3)

  

如何回显对象的某些变量?

var_dump函数用于调试有关具体变量的信息。在您的情况下,它告诉您转储的变量或表达式是simple_html_dom类型的对象,并输出一些其他信息:

object(simple_html_dom) #1 (23) { 
    ["root"]=> object(simple_html_dom_node)#2 (9) { 
        ["nodetype"]=> int(5) 
        ["tag"]=> string(4) "root" ["attr"]=> array(0) {} 
        ["children"]=> array(0) {}
        ["nodes"]=> array(1) {
            ...

由于这表明这有一些结构,var_dump也试图遍历该对象的属性值。

但是,您在问题中发布输出的方式因此极难实际看到这些。考虑使换行符和空格可见,例如,如果从浏览器中复制了换行符,则首先使用浏览器的view-source功能实际看到这些换行符。

这通常使得找出实际存在哪些对象属性以及不存在哪些对象属性是明智的。

 $object->link;

这是长时间不工作它不存在。此外,由于每个对象可能不同,请查看简单的html dom库的文档如何使用它。它可能通过所谓的magic methods定义自己的访问者 - var_dump没有看到这些,它只是关于裸值。

答案 1 :(得分:2)

尝试

$object->root->link

有两个级别的对象。

我希望这个帮助