PHP SimpleXML从对象获取值

PHP SimpleXML从对象获取值,php,simplexml,Php,Simplexml,对从simpleXML对象获取值有疑问。所以首先,我要这样做 $data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email; var_dump($data); 这将返回以下结果 object(SimpleXMLElement)#8 (1) { [0]=>

对从simpleXML对象获取值有疑问。所以首先,我要这样做

$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
var_dump($data);
这将返回以下结果

object(SimpleXMLElement)#8 (1) {
  [0]=>
  string(26) "myemail@email.com"
}
我只需要这封信的电子邮件地址。然后我继续做这件事

$this->response = (string)$data[0];
var_dump($this->response);
现在我希望上面的内容只返回电子邮件地址,但它返回所有内容,包括类型,例如

string(26) "myemail@email.com"
我可以使用preg_match之类的工具很容易地从中获取电子邮件地址,但这肯定不是正确的方法吗?如果没有类型,是否无法获取值


谢谢

如果您只想拥有字符串,SimpleXML拥有
\uuuToString()
。因此,对于您的代码,这将是:

$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
$this->response = $data[0]->__toString();

你说的类型是什么意思?你试过使用echo而不是var_dump吗?我实际上是在返回整个值,它不喜欢我在不回显的情况下这样做(因为ajax)。现在似乎可以工作了,感谢正在做它应该做的事情,它向您显示变量的类型、长度和内容。而echo“just”则显示内容。