PHP陣列和XML相互轉換的函式,微信中常見的Sign生成函式
阿新 • • 發佈:2018-12-11
//陣列轉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)); }