Php 单纯形元素计数

Php 单纯形元素计数,php,xml,Php,Xml,我试图计算一个simplexmlement中的子元素数量。我在StackOverflow上搜索过,但似乎什么也没找到 $xml = simplexml_load_string($xml); foreach($xml as $key => $field) { if (count($field) == 0){ $field[0][0] = 'test'; } } 我的xmlement中有一些是空的。然而,count在所有元素上都为0。我发现做我想做的事情的唯

我试图计算一个
simplexmlement
中的子元素数量。我在StackOverflow上搜索过,但似乎什么也没找到

$xml = simplexml_load_string($xml);

foreach($xml as $key => $field) {
    if (count($field) == 0){
        $field[0][0] = 'test';
    }
}
我的
xmlement
中有一些是空的。然而,count在所有元素上都为0。我发现做我想做的事情的唯一方法是:

if ($field[0][0] == '')
我尝试使用上指定的$field->count(),但无论$field中有什么,它总是返回0

难道没有更好的办法吗

以下是通过打印的xml格式:

SimpleXMLElement Object
(
    [firstName] => Test
    [lastName] => Test2
    [middleName] => SimpleXMLElement Object
        (
        )
)
可以像这样使用count()函数:

$elem = new SimpleXMLElement($xml);
$elem->count();

供参考。

您是否可以
打印($xml)这样我们就可以看到格式了?是的,当然,我刚刚添加了我以前尝试过的打印。但问题是,无论$field中有什么内容,$field->count()返回0$field={simplexmlement}[1]但是$field->count()=0不要将其应用于$field,在您的例子中,它必须应用于$xml,因为它已经对子项进行了计数。因此,您不必迭代对象来获得子节点的数量。