您好,登錄后才能下訂單哦!
怎么在PHP中生成一個json和xml類型的接口?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
php生成接口通信數據
/** * 生成接口數據格式 */ class Response{ /** * [show 按綜合方式輸出數據] * @param [int] $code [狀態碼] * @param [string] $message [提示信息] * @param array $data [數據] * @param [string] $type [類型] * @return [string] [返回值] */ public static function show($code, $message, $data = array(),$type = ''){ if(!is_numeric($code)){ return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); if($type == 'json'){ return self::json($code, $message, $data); }elseif($type == 'xml'){ return self::xml($code, $message, $data); }else{ //TODO } } /** * [json 按json方式輸出數據] * @param [int] $code [狀態碼] * @param [string] $message [提示信息] * @param [array] $data [數據] * @return [string] [返回值] */ public static function json($code, $message, $data = array()){ if(!is_numeric($code)){ return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); $result = json_encode($result); return $result; } /** * [xml 按xml格式生成數據] * @param [int] $code [狀態碼] * @param [string] $message [提示信息] * @param array $data [數據] * @return [string] [返回值] */ public static function xml($code, $message, $data = array()){ if(!is_numeric($code)){ return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); header("Content-Type:text/xml"); $xml = "<?xml version='1.0' encoding='UTF-8'?>\n"; $xml .= "<root>\n"; $xml .= self::xmlToEncode($data); $xml .= "</root>"; return $xml; } public static function xmlToEncode($data){ $xml = ''; foreach($data as $key => $value){ if(is_numeric($key)){ $attr = "id='{$key}'"; $key = "item"; } $xml .= "<{$key} {$attr}>\n"; $xml .= is_array($value) ? self::xmlToEncode($value) : "{$value}\n"; $xml .= "</{$key}>\n"; } return $xml; } } //測試 $grade = array("score" => array(70, 95, 70.0, 60, "70"), "name" => array("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "TianQi")); $response = new Response(); $result = $response :: show(200,'success',$grade,'json'); print_r($result);
看完上述內容,你們掌握怎么在PHP中生成一個json和xml類型的接口的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。