如var_dump输出一个SimpleXMLElement对象,显示如下object(SimpleXMLElement)#4 (3) {
["@attributes"]=>
array(1) {
["index"]=>
string(1) "1"
}
["name"]=>
string(7) "书本1"
["story"]=>
array(3) {
[0]=>
object(SimpleXMLElement)#5 (2) {
["title"]=>
string(14) "书本1故事1"
["quote"]=>
string(20) "书本1故事1内容"
}
[1]=>
object(SimpleXMLElement)#6 (2) {
["title"]=>
string(14) "书本1故事2"
["quote"]=>
string(20) "书本1故事2内容"
}
}
}那个还@的["@attributes"]代表什么意思,请举一个类似的class,谢谢
["@attributes"]=>
array(1) {
["index"]=>
string(1) "1"
}
["name"]=>
string(7) "书本1"
["story"]=>
array(3) {
[0]=>
object(SimpleXMLElement)#5 (2) {
["title"]=>
string(14) "书本1故事1"
["quote"]=>
string(20) "书本1故事1内容"
}
[1]=>
object(SimpleXMLElement)#6 (2) {
["title"]=>
string(14) "书本1故事2"
["quote"]=>
string(20) "书本1故事2内容"
}
}
}那个还@的["@attributes"]代表什么意思,请举一个类似的class,谢谢
SimpleXML 为了让你能区分他们,将节点的属性放在名为 @attributes 的数组中
我知道这是一个xml节点的属性,现在我不懂的是怎么还原这个class,我们可以抛开xml直接讨论类与对象:
1、我们平时访问一个对象的属性一般是:对象->属性名,但是现在我怎么去访问这个 @attributes 的属性,用这个 对象->@attributes,根本访问不了
2、如果这个真的是一个类中的属性,那怎么能在类中用带@开头的变量名声明一个属性?那根本是语法错误最好能写一个类,实例化对象后,var_dump打印这个对象能打印出如我上面给的一样属性能带@, 因为我实在写不出这样的类
别再拿SimpleXMLElement说事了,我只想知道一个类怎么写,实例化对象后用var_dump打印,显示的是带@的属性
settype($a, 'object');
echo $a->{'@abc'};