//封装通信接口数据方法
//一.PHP生成json数据
$arr = array(
'id' => 1,
'name' => 'xiaoming'
);
echo json_encode($arr);//json_encode()这个函数正能接受utf-8编码的数据,如果传入其他编码格式的值则返回null
$data = '输出json数据';
$newData = iconv('UTF-8','GBK',$data);//转换编码格式参数一原始编码格式,参数二要转换成为的编码格式,参数三传入要转换格式的数据
echo json_encode($newData);//这里转换输出的是gbk编码格式的数据,结果返回空
//二.通信数据标准格式
/**
* code 状态码(200,400等)
* message 提示信息(邮箱格式不正确;数据返回成功等)
* data 返回数据
*/
//实例:
//test2.php
class Response {
/**
* 按json方式输出数据
* @param integer $code 状态码
* @param string $message 提示信息
* @param array $data 数据
* @return string
*/
public static function json($code,$message = '',$data = array()){
if (!is_numeric($code)) { //is_numeric()判断变量是否为数字
return '';
}
$result = array(
'code' => $code,
'message' => $message,
'data' => $data
);
echo json_encode($result);
exit;
}
}
<?php
//test1.php
require('./models/test2.php');//引入test2.php
$data = array(
'id' => 1,
'name' => 'xiaojie'
);
$test = new Response();//实例化test2.php文件中Response类
$test->json(200,'数据返回成功',$data);
//浏览器执行test1.php文件返回结果
{"code":200,"message":"\u6570\u636e\u8fd4\u56de\u6210\u529f","data":{"id":1,"name":"xiaojie"}}