我有以下代码:
$b = $br->b;
var_dump($b);
$iCountBlock = count($b);
其中b是SimpleXMLElement对象。 var dump输出:
object(SimpleXMLElement)[16]
public 'blockID' => string '160999' (length=6)
public 'blockDesc' => string 'Description' (length=37)
public 'moduleID' => string '1' (length=1)
public 'pubID' =>
object(SimpleXMLElement)[18]
public 'contentID' => string '93305' (length=5)
public 'linkToPageID' =>
object(SimpleXMLElement)[19]
public 'moduleFunction' => string 'replaceHTML' (length=11)
public 'moduleVars' =>
object(SimpleXMLElement)[20]
public 'c' =>
object(SimpleXMLElement)[21]
public 'contentID' => string '93305' (length=5)
public 'contentType' => string '1' (length=1)
public 'description' => string 'new.usdish.com index redesign content' (length=37)
public 'content' =>
object(SimpleXMLElement)[22]
但是,$ iCountBlock设置为1 ...它似乎没有计算对象的所有公共属性。我也尝试使用foreach循环遍历b的每个属性,它甚至没有进入循环。
foreach($b as $key => $val) { ... }
我在这里有点不知所措,因为我不确定发生了什么。有什么想法吗?
答案 0 :(得分:3)
表单PHP 5.3及更高版本SimpleXMLElement确实使用计数函数作为长度!
$count = $b->count();
在5.3之前的PHP中,你必须使用childern属性来获取计数。
$count = count($b->children());