意外的简单simplexmlelement错误

时间:2018-01-17 14:23:33

标签: php laravel simplexml

尝试使用PHP访问simplexmlelement时(第二个)。我使用以下代码$candidate->result->recorddetail->FL[0]并期望返回2972941000000380012,但是到达(第一个下面)。我只需要达到这个数据= 2972​​941000000380012;谢谢

编辑:当我访问FL数组时,它不仅仅返回我想要的位置。

    SimpleXMLElement {#360
  +"@attributes": array:1 [
    "val" => "Id"
  ]
  +0: "2972941000000380012"
}

当我返回字符串时,而不是到达目的地我收到了第二个代码块;

    SimpleXMLElement {#357
  +"@attributes": array:1 [
    "uri" => "/crm/private/xml/Contacts/insertRecords"
  ]
  +"result": SimpleXMLElement {#352
    +"message": "Record(s) updated successfully"
    +"recorddetail": SimpleXMLElement {#355
      +"FL": array:5 [
        0 => "2972941000000380012"
        1 => "2018-01-17 14:39:17"
        2 => "2018-01-17 15:11:49"
        3 => SimpleXMLElement {#368
          +"@attributes": array:1 [
            "val" => "Created By"
          ]
        }
        4 => SimpleXMLElement {#369
          +"@attributes": array:1 [
            "val" => "Modified By"
          ]
        }
      ]
    }
  }
}

1 个答案:

答案 0 :(得分:1)

当您使用(例如)......

$x = $candidate->result->recorddetail->FL[0];

这会分配SimpleXMLElement而不是元素值,这是你真正想要的。您可以通过将此值转换为字符串来获取值,该字符串将仅返回元素内容...

$x = (string)$candidate->result->recorddetail->FL[0];