做微信开发,鉴于微信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)
这样操作起来就容易多了。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号