【发布时间】:2010-11-11 03:50:56
【问题描述】:
$value = $simpleXmlDoc->SomeNode->InnerNode;
实际上将simplexml对象分配给$value,而不是InnerNode的实际值。
如果我这样做:
$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";
我得到了价值。无论如何,如果没有笨拙的. "\n",就可以获得实际价值吗?
【问题讨论】:
$value = $simpleXmlDoc->SomeNode->InnerNode;
实际上将simplexml对象分配给$value,而不是InnerNode的实际值。
如果我这样做:
$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";
我得到了价值。无论如何,如果没有笨拙的. "\n",就可以获得实际价值吗?
【问题讨论】:
投射为您想要的任何类型(并且有意义......)。通过连接,您隐式转换为字符串,所以
$value = (string) $xml->someNode->innerNode;
【讨论】:
您不必指定innerNode。
$value = (string) $simpleXmlDoc->SomeNode;
【讨论】:
使用类型转换怎么样,比如:
$value = (string)$simpleXmlDoc->SomeNode->InnerNode;
或者您也可以使用 strval()、intval() 和所有这些 - 只是可能更慢,因为函数调用。
【讨论】:
要么将其转换为字符串,要么在字符串上下文中使用它:
$value = (string) $simpleXmlDoc->SomeNode->InnerNode;
// OR
echo $simpleXmlDoc->SomeNode->InnerNode;
【讨论】: