【问题标题】:String Comparison Issue with xml and phpxml和php的字符串比较问题
【发布时间】:2012-09-06 14:12:44
【问题描述】:

我在 php 中遇到 xml 问题...当我说 echo $meta2->nodeValue; 它显示地址但当我说 if ($meta2->nodeValue=="Address"){echo $meta2->nodeValue;} 它没有显示任何东西...有什么想法吗?节点类型=1

【问题讨论】:

  • 发送var_dump($meta2->nodeValue) 看看里面到底有什么
  • 取决于“它显示”的含义。任何不可见的符号都可能属于nodeValue,当然,在比较这些字符串时,PHP 不会考虑它的不可见性。
  • 是的,但是我如何找到那个不可见的符号?
  • var_dump($meta2->nodeValue) 显示字符串 'Address' (length=9) Address_ 后面有一个换行符 (_ = space)
  • 尝试将 nodeValue 类型转换为字符串: if ( "Address" == (string) $meta2->nodeValue ) {...}

标签: php xml xml-parsing


【解决方案1】:

您应该修剪该值以确保避免所有不可见的字符:

if (rtrim($meta2->nodeValue) == "Address")
{
  echo $meta2->nodeValue;
}

【讨论】:

  • 当 PHP 解析 == 并看到一个操作数是字符串时,这难道不是 in this 幕后发生的情况吗? )
猜你喜欢
  • 2012-02-08
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多