Heim >Backend-Entwicklung >PHP-Tutorial >php中将SimpleXMLElement Object数组转化为普通数组

php中将SimpleXMLElement Object数组转化为普通数组

WBOY
WBOYOriginal
2016-06-23 13:17:091026Durchsuche

做微信开发,鉴于微信POST的消息是XML数据包,通过SimpleXMLElement Object获取的数据不好操作,需要转化为普通数组。

网上找了很多方法都不理想,发现通过json_decode和json_encode可以转化,遂分享给大家。

$postStr = '<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName>  <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml>';$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$jsonStr = json_encode($postObj);$jsonArray = json_decode($jsonStr,true);print_r($jsonArray);

输出结果为:

Array(    [ToUserName] => toUser    [FromUserName] => fromUser    [CreateTime] => 1348831860    [MsgType] => text    [Content] => this is a test    [MsgId] => 1234567890123456)

这样操作起来就容易多了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn