PHP5.5在SimpleXMLElement上断开空()

PHP5.5在SimpleXMLElement上断开空(),php,simplexml,Php,Simplexml,我最近把我的PHP从5.3升级到了5.5,发现了这个错误 我的XML是: <search-response> ... ... <results-count>12345</results-count> </search-response> 编辑 返回$nodeval;而不是echo$nodeval;给出: array(1) { ["info"]=> string(0) "" } 是的,从5.4开始的SimpleXMLEl

我最近把我的PHP从5.3升级到了5.5,发现了这个错误

我的XML是:

<search-response>
  ...
  ...
  <results-count>12345</results-count>
</search-response>
编辑 返回$nodeval;而不是echo$nodeval;给出:

array(1) {
  ["info"]=>
  string(0) ""
}

是的,从5.4开始的SimpleXMLElement
empty
状态发生了更改。在5.4之前,表示与对象访问相同元素的SimpleXMLElement
empty($element)
中的行为与方法结果数组中的行为相同

由于PHP5.4,当使用
empty
进行检查时,作为xpath结果对象的元素现在总是
true
(其他访问没有改变空行为)

您很可能不是在寻找
空($value)
,而是在寻找
!strlen($value)

请注意,SimpleXMLElement具有很多魔力,例如,
var\u dump
print\u r
不能很好地使用它。而且
empty
也有一些细微差别

如果测试现有的SimpleXMLElement的值,请将其转换为字符串

如果要验证元素是否存在,请检查其自引用是否为NULL

还有一些关于5.3->5中断的错误报告。4使用SimpleXML进行版本更改:

  • (2012年6月)
  • (2012年7月)
  • (2012年8月)

是的,从5.4开始的SimpleXMLElement的
空状态发生了变化。在5.4之前,表示与对象访问相同元素的SimpleXMLElement
empty($element)
中的行为与方法结果数组中的行为相同

由于PHP5.4,当使用
empty
进行检查时,作为xpath结果对象的元素现在总是
true
(其他访问没有改变空行为)

您很可能不是在寻找
空($value)
,而是在寻找
!strlen($value)

请注意,SimpleXMLElement具有很多魔力,例如,
var\u dump
print\u r
不能很好地使用它。而且
empty
也有一些细微差别

如果测试现有的SimpleXMLElement的值,请将其转换为字符串

如果要验证元素是否存在,请检查其自引用是否为NULL

还有一些关于5.3->5中断的错误报告。4使用SimpleXML进行版本更改:

  • (2012年6月)
  • (2012年7月)
  • (2012年8月)

是的,从5.4开始的SimpleXMLElement的
空状态发生了变化。在5.4之前,表示与对象访问相同元素的SimpleXMLElement
empty($element)
中的行为与方法结果数组中的行为相同

由于PHP5.4,当使用
empty
进行检查时,作为xpath结果对象的元素现在总是
true
(其他访问没有改变空行为)

您很可能不是在寻找
空($value)
,而是在寻找
!strlen($value)

请注意,SimpleXMLElement具有很多魔力,例如,
var\u dump
print\u r
不能很好地使用它。而且
empty
也有一些细微差别

如果测试现有的SimpleXMLElement的值,请将其转换为字符串

如果要验证元素是否存在,请检查其自引用是否为NULL

还有一些关于5.3->5中断的错误报告。4使用SimpleXML进行版本更改:

  • (2012年6月)
  • (2012年7月)
  • (2012年8月)

是的,从5.4开始的SimpleXMLElement的
空状态发生了变化。在5.4之前,表示与对象访问相同元素的SimpleXMLElement
empty($element)
中的行为与方法结果数组中的行为相同

由于PHP5.4,当使用
empty
进行检查时,作为xpath结果对象的元素现在总是
true
(其他访问没有改变空行为)

您很可能不是在寻找
空($value)
,而是在寻找
!strlen($value)

请注意,SimpleXMLElement具有很多魔力,例如,
var\u dump
print\u r
不能很好地使用它。而且
empty
也有一些细微差别

如果测试现有的SimpleXMLElement的值,请将其转换为字符串

如果要验证元素是否存在,请检查其自引用是否为NULL

还有一些关于5.3->5中断的错误报告。4使用SimpleXML进行版本更改:

  • (2012年6月)
  • (2012年7月)
  • (2012年8月)

请向我们展示您的完整真实代码!如何在变量中获取xml等错误日志可能会有所帮助,您可以发布它吗?我发布了整个日志code@henrik不会生成错误,它只是将空白字符串添加到$nodevaltry return$nodeval,而不是echo$nodeval;请向我们展示您的完整真实代码!如何在变量中获取xml等错误日志可能会有所帮助,您可以发布它吗?我发布了整个日志code@henrik不会生成错误,它只是将空白字符串添加到$nodevaltry return$nodeval,而不是echo$nodeval;请向我们展示您的完整真实代码!如何在变量中获取xml等错误日志可能会有所帮助,您可以发布它吗?我发布了整个日志code@henrik不会生成错误,它只是将空白字符串添加到$nodevaltry return$nodeval,而不是echo$nodeval;请向我们展示您的完整真实代码!如何在变量中获取xml等错误日志可能会有所帮助,您可以发布它吗
array(1) {
  ["info"]=>
  string(0) ""
}