var_dump()显示数组但is_array()为false

时间:2013-02-03 05:53:56

标签: php simplexml

$response是一个SimpleXML元素,初始的var_dump将其显示为一个数组,但我无法遍历它。当我专门访问它时,它会变成一个对象。

有什么建议吗?

    var_dump($response); //shows KeyResult as array
    if (is_array($response->KeyResult)) { //returns false
        $addressRankings = array();
        foreach ($response->KeyResult as $rating) {
            print_r($rating);

这是var_dump

object(SimpleXMLElement)#8 (1) {
  ["KeyResult"]=>
  array(10) {
    [0]=>
    object(SimpleXMLElement)#7 (5) {

1 个答案:

答案 0 :(得分:3)

var_dump转储SimpleXML对象内容,但是当你调用->KeyResult时,它有更多魔法(如__get方法),而不返回an array

  

属性(前面示例中的$ movies->电影)不是数组。他们   是可迭代和可访问的对象。