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,因为它已经对子项进行了计数。因此,您不必迭代对象来获得子节点的数量。