当前位置:首页 > PHP教程 > php应用 > 列表

php返回json数据函数实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-15 16:47:55 浏览: 评论:0 

这篇文章主要介绍了php返回json数据函数实例,详细讲述了json_encode()函数用法,在进行PHP数据库程序设计中非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考。具体方法如下:

json_encode()函数用法:

echo json_encode(array('a'=>'bbbb','c'=>'ddddd');

这样就会生成一个标准的json格式的数据

  1. <?php 
  2. //需要执行的SQL语句 
  3. //单条 
  4. $sql="select id,name from tbl_user where id=1"
  5. //多条数据 
  6. //$sql="select id,name from tbl_user"; 
  7. //调用conn.php文件进行数据库操作  
  8. require('Conn.php'); 
  9. //提示操作成功信息,注意:$result存在于conn.php文件中,被调用出来  
  10. if($result)  
  11. // $array=mysql_fetch_array($result,MYSQL_ASSOC); 
  12.    
  13.    
  14.  /*数据集 
  15.  $users=array(); 
  16.  $i=0; 
  17.  while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ 
  18.  echo $row['id'].'-----------'.$row['name'].'</br>'; 
  19.  $users[$i]=$row; 
  20.  $i++; 
  21.  } 
  22.  echo json_encode(array('dataList'=>$users)); 
  23.  */ 
  24.  /*单条数据*/ 
  25.  $row=mysql_fetch_row($result,MYSQL_ASSOC); 
  26.    
  27.  echo json_encode(array('jsonObj'=>$row)); 
  28. mysql_free_result($result); 
  29. //释放结果 
  30. mysql_close(); 
  31. //关闭连接 
  32. ?> 

上面是数据库生成json数据

单条数据:{"jsonObj":{"id":"1","name":"lmw"}}

多条数据:{"dataList":[{"id":"1","name":"lmw"},{"id":"2","name":"xxj"},{"id":"3","name":"xxxj"}]}

现在很多情况下,我们需要程序返回一个Json格式的结果,比如:

  1. "UserKeyGetResponse"
  2. {"RequestName":"e99e6d63e8c712d7699f52978a","api_key_value":"41954dd9b1cb6a95802eab6810"}, 
  3. "error_response"
  4. {"code":"NO_ERROR","msg":"获取系统参数成功"

可以将结果写成这样的数组形式:

$respon = array('UserKeyGetResponse' => array('RequestName' => $api_request_name, 'api_key_value' => $api_key_value),

'error_response' => array('code' => 'NO_ERROR', 'msg' => '获取系统参数成功'));

代码如下:

  1. function arrayRecursive(&$array$function$apply_to_keys_also = false) 
  2.  static $recursive_counter = 0; 
  3.  if (++$recursive_counter > 1000) { 
  4.   die('possible deep recursion attack'); 
  5.  } 
  6.  foreach ($array as $key => $value) { 
  7.   if (is_array($value)) { 
  8.    arrayRecursive($array[$key], $function$apply_to_keys_also); 
  9.   } else { 
  10.    $array[$key] = $function($value); 
  11.   } 
  12.   if ($apply_to_keys_also && is_string($key)) { 
  13.    $new_key = $function($key); 
  14.    if ($new_key != $key) { 
  15.     $array[$new_key] = $array[$key]; 
  16.     unset($array[$key]); 
  17.    } //www.phpfensi.com 
  18.   } 
  19.  } 
  20.  $recursive_counter--; 
  21. g: 
  22. $error_respon = array('code' => 'ERROR_MSG_MISS''msg' => '消息不存在'); 
  23. echo JSON($array); 

运行结果为:

{"code":"ERROR_MSG_MISS","msg":"消息不存在"}

客户端就可以解析这个结果了,当然错误码要用数字代替。

这样就好多了我们显示的直接是中文了,当然显示那个16进制的编码也是没有问题的。

Tags: php返回json数据

分享到: