I have the following code:
$b = $br->b;
var_dump($b);
$iCountBlock = count($b);
Where b is a SimpleXMLElement object. The var dump outputs:
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]
However, $iCountBlock gets set to 1… it doesn’t appear to be counting all the public properties of the object as it should. I also tried using a foreach loop to loop over each property of b and it didn’t even enter the loop.
foreach($b as $key => $val) { ... }
I’m kinda at a loss here, as I’m not sure what’s going on. Any thoughts?
Form PHP 5.3 and higher SimpleXMLElement does use a count function for the length!
In PHP before 5.3 you have to use the childern property for getting the count.
Info at: http://php.net/manual/en/simplexmlelement.count.php