PHP数组和XML相互转换的函数,微信中常见的Sign生成函数

版权声明:转发原创文章请复制文章链接地址 https://blog.csdn.net/weixin_42579642/article/details/84861502
//数组转Xml
function ArrToXml($arr)
{
	if(!is_array($arr) || count($arr) == 0) return '';
	
	$xml = "<xml>";
	foreach ($arr as $key=>$val)
	{
		if (is_numeric($val)){
			$xml.="<".$key.">".$val."</".$key.">";
		}else{
			$xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
		}
	}
	$xml.="</xml>";
	return $xml; 
}
	
//Xml转数组
function XmlToArr($xml)
{	
	if($xml == '') return '';
	libxml_disable_entity_loader(true);
	$arr = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);		
	return $arr;
}

//sign生成及检测sign
function Sign($param){
        if(isset($param['sign'])){
            unset($param['sign']);
        }
        ksort($param);
        $str = urldecode(http_build_query($param));
        $str .= '&key='.self::appKey;
        return strtoupper(md5($str));
    }

猜你喜欢

转载自blog.csdn.net/weixin_42579642/article/details/84861502