您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 遵义分类信息网,免费分类信息发布

php实现的返回数据格式化类实例_PHP

2024/4/28 20:46:23发布14次查看
本文实例讲述了php实现的返回数据格式化类及其用法,在字符串处理中非常具有实用价值。分享给大家供大家参考。具体方法如下:
datareturn.class.php类文件如下:
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 对应名称 $format['msg'] = $this->exists($param,'format.msg')? $param['format']['msg'] : 'msg'; //msg 对应名称 $format['data'] = $this->exists($param,'format.data')? $param['format']['data'] : 'data'; //data 对应名称 $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; } //输出数据 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格式数据,如有callback参数则返回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格式数据 private function xml_return(){ header('content-type:text/xml;charset=utf-8'); echo $this->xml_encode($this->returndata,$this->xmlroot); } //输出json格式数据,并调用callback方法 private function callback_return(){ header('content-type:text/html;charset=utf-8'); $this->callback = empty($this->callback)? 'callback' : $this->callback; echo ; } //输出数组格式数据 private function array_return(){ header('content-type:text/html;charset=utf-8'); echo ''; print_r($this->returndata); echo '
'; } //xml编码 private function xml_encode($data, $root='xmlroot', $encoding='utf-8') { $xml = \n; $xml.= \n; $xml.= $this->data_to_xml($data); $xml.= ; return $xml; } //数组转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.=; $xml.= ( is_array($val) || is_object($val)) ? $this->data_to_xml($val) : $this->cdata($val); list($key, ) = explode(' ', $key); $xml.=\n; } return $xml; } //判断数据是否存在 private function exists($obj,$key=''){ if($key==''){ return isset($obj) && !empty($obj); }else{ $keys = explode('.',$key); for($i=0,$max=count($keys); $i
demo示例程序如下:
'json', // 输出的类型 json,xml,callback,array 默认为 json 'retcode' => '1000', // retcode 的值,默认为0 'msg' => '', // msg 的值,默认为空 'data' => array( // 要输出的数据 'id' => '100', 'name' => 'fdipzone', 'gender' => 1, 'age' => 28 ), 'format' => array( // 输出的数据key格式,默认为 retcode,msg,data 'retcode' => 'status', 'msg' => 'info', 'data' => 'result' ), 'xmlroot' => 'xmlroot', // 当type=xml时,xml根节点名称,默认为xmlroot 'callback' => 'callback' /* 回调方法名称 type=json时,默认为空,如不为空,则输出callback({data}); type=callback时,默认为callback,自动调用页面js回调方法 */ ); $obj = new datareturn($param); // 创建datareturn类对象 $obj->data_return(); // 按格式输出数据 ?>
希望本文所述对大家php程序设计的学习有所帮助。
遵义分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录