麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

關(guān)于php返回數(shù)據(jù)格式化類的詳解

2020-03-22 19:57:03
字體:
供稿:網(wǎng)友
html' target='_blank'>public function __construct($param=array()){ $this- type = $this- exists($param, type )? strtoupper($param[ type ]) : JSON // 類型 JSON,XML,CALLBACK,ARRAY $this- xmlroot = $this- exists($param, xmlroot )? $param[ xmlroot ] : xmlroot // xml root dom name $this- callback = $this- exists($param, callback )? $param[ callback ] : // JS callback function name $format = array(); $format[ retcode ] = $this- exists($param, format.retcode )? $param[ format ][ retcode ] : retcode //retcode 對應(yīng)名稱 $format[ msg ] = $this- exists($param, format.msg )? $param[ format ][ msg ] : msg //msg 對應(yīng)名稱 $format[ data ] = $this- exists($param, format.data )? $param[ format ][ data ] : data //data 對應(yīng)名稱 $result = array(); $result[$format[ retcode ]] = $this- exists($param, retcode )? $param[ retcode ] : 0; $result[$format[ msg ]] = $this- exists($param, msg )? $param[ msg ] : $result[$format[ data ]] = $this- exists($param, data )? $param[ data ] : $this- returnData = $result; //輸出數(shù)據(jù) public function data_return(){ ob_clean(); switch($this- type){ case JSON : $this- json_return(); break; case XML : $this- xml_return(); break; case CALLBACK : $this- callback_return(); break; case ARRAY : $this- array_return(); break; default: $this- json_return(); exit(); //輸出JSON格式數(shù)據(jù),如有callback參數(shù)則返回JSONP格式 private function json_return(){ header( content-type:text/html;charset=utf-8 if(empty($this- callback)){ echo json_encode($this- returnData); }else{ echo $this- callback. ( .json_encode($this- returnData). //輸出XML格式數(shù)據(jù) private function xml_return(){ header( content-type:text/xml;charset=utf-8 echo $this- xml_encode($this- returnData,$this- xmlroot); //輸出JSON格式數(shù)據(jù),并調(diào)用callback方法 private function callback_return(){ header( content-type:text/html;charset=utf-8 $this- callback = empty($this- callback)? callback : $this- callback; echo script type=/ text/javascript/ /r/n echo $this- callback. ( .json_encode($this- returnData). /r/n echo /script //輸出數(shù)組格式數(shù)據(jù) private function array_return(){ header( content-type:text/html;charset=utf-8 echo pre print_r($this- returnData); echo /pre //XML編碼 private function xml_encode($data, $root= xmlroot , $encoding= utf-8 ) { $xml = ?xml version=/ 1.0/ encoding=/ . $encoding . / ? /n $xml.= . $root . /n $xml.= $this- data_to_xml($data); $xml.= / . $root . return $xml; //數(shù)組轉(zhuǎn)XML格式 private function data_to_xml($data) { if (is_object($data)) { $data = get_object_vars($data); $xml = foreach ($data as $key = $val) { is_numeric($key) $key = item id=/ $key/ $xml.= $key $xml.= ( is_array($val) || is_object($val)) ? $this- data_to_xml($val) : $this- cdata($val); list($key, ) = explode( , $key); $xml.= /$key /n return $xml; //判斷數(shù)據(jù)是否存在 private function exists($obj,$key= ){ if($key== ){ return isset($obj) !empty($obj); }else{ $keys = explode( . ,$key); for($i=0,$max=count($keys); $i $max; $i++){ if(isset($obj[$keys[$i]])){ $obj = $obj[$keys[$i]]; }else{ return false; return isset($obj) !empty($obj); //判斷是否需要加上 ![CDATA[]] 標(biāo)記 private function cdata($val){ if(!empty($val) !preg_match( /^[A-Za-z0-9+$]/ ,$val)){ $val = ![CDATA[ .$val. ]] return $val;} // class end?

demo

 ? require_once( DataReturn.class.php  $param = array( // DataReturn 參數(shù) type = JSON , // 輸出的類型 JSON,XML,CALLBACK,ARRAY 默認(rèn)為 JSON retcode = 1000 , // retcode 的值,默認(rèn)為0 msg = , // msg 的值,默認(rèn)為空 data = array( // 要輸出的數(shù)據(jù) id = 100 , name = fdipzone , gender = 1, age = 28 format = array(// 輸出的數(shù)據(jù)key格式,默認(rèn)為 retcode,msg,data retcode = status , msg = info , data = result  xmlroot = xmlroot , // 當(dāng)type=XML時,XML根節(jié)點名稱,默認(rèn)為xmlroot callback = callback /* 回調(diào)方法名稱 type=JSON時,默認(rèn)為空,如不為空,則輸出callback({data}); type=CALLBACK時,默認(rèn)為callback,自動調(diào)用頁面JS回調(diào)方法 $obj = new DataReturn($param); // 創(chuàng)建DataReturn類對象 $obj- data_return(); // 按格式輸出數(shù)據(jù)? 

本文講解了php返回數(shù)據(jù)格式化類,更多相關(guān)內(nèi)容請關(guān)注php 。

相關(guān)推薦:

關(guān)于php XML文件解釋類的講解

php CSS Update Class的相關(guān)內(nèi)容講解

關(guān)于php __call 與 __callStatic 的內(nèi)容講解

以上就是關(guān)于php返回數(shù)據(jù)格式化類的詳解的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精选在线 | 日本一道aⅴ不卡免费播放 视屏一区 | 91精品国产九九九久久久亚洲 | 国产剧情v888av | 国内精品国产三级国产a久久 | 亚洲精品v天堂中文字幕 | 成年人小视频在线观看 | 久久久久9999 | 91久久久久久久久久久久久 | 日本免费不卡一区二区 | 96视频在线免费观看 | 成人性生活视频在线观看 | 91久久国产露脸精品免费 | 巨乳激情| 最新亚洲国产 | 国产成人综合在线观看 | 中文字幕在线观看1 | 成人午夜免费看 | 99re久久最新地址获取 | 久久精精品 | 亚洲精品v天堂中文字幕 | 欧美日韩一区,二区,三区,久久精品 | 青草av.久久免费一区 | 香蕉国产片| 色综合视频网 | hdhdhdhd19日本人 | 一级做a爰性色毛片免费1 | 久国产| 在线成人免费观看www | 羞羞视频2023 | 久久久久久久爱 | 久久99精品久久久久久小说 | 午夜精品久久久久久久久久久久久蜜桃 | 神秘电影91 | 午夜精品小视频 | 亚洲精品成人在线视频 | 97色在线观看免费视频 | 思思久而久而蕉人 | 91精品国产99久久久久久红楼 | 欧美片a | 国产成人精品无人区一区 |