如何从简单的xml对象中获取字符串?

时间:2015-01-15 22:05:07

标签: php arrays object simplexml

所以我有一个名为$ locations的对象数组,每个对象都是SimpleXMLElement,这个数组中的每个对象都是:

foreach ($locations as $key => $location) {
    var_dump($location);
}

die();   

看起来像:

object(SimpleXMLElement)#2 (9) {
  ["@attributes"]=>
  array(2) {
    ["fb"]=>
    string(0) ""
    ["ll"]=>
    string(21) "44.1097932,-79.584537"
  }
  ["label"]=>
  string(8) "Bradford"
  ["name"]=>
  string(8) "Bradford"
  ["address"]=>
  string(52) "448 Holland Street West, Unit 3 Bradford, ON L3Z 2A4"
  ["phone"]=>
  string(14) "(905) 551-9463"
  ["fax"]=>
  object(SimpleXMLElement)#24 (0) {
  }
  ["mngr"]=>
  string(12) "OPENING SOON"
  ["email"]=>
  object(SimpleXMLElement)#25 (0) {
  }
  ["hours"]=>
  object(SimpleXMLElement)#26 (0) {
  }
}

现在我想要一个关联数组中的每个对象的字符串,而不是objet,但字符串name的关键字为$key$value为{{{ 1}}。所以我做了:

name

注意$organizedLocations = array (); foreach ($locations as $key => $location) { var_dump($location, $location->name); $organizedLocations[$key] = $location->name; } die(); var_dump是:

$location->name

这不是我想要的。我希望,在这种情况下:" Bradford",而不是一些带字符串的对象。 我尝试过object(SimpleXMLElement)#23 (1) { [0]=> string(8) "Bradford" } 我甚至尝试在$location->name->0中对$location->name进行循环播放,我尝试了foreach这些都没有。

如何将$location->name[0]作为Bradford的值从对象和数组中获取?

2 个答案:

答案 0 :(得分:1)

执行此操作的正确方法是将其转换为字符串,然后我将获得我想要存储在数组中的实际值:

 (string) $location->name;

答案 1 :(得分:0)