国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php返回json數(shù)據(jù)函數(shù)例子

2024-05-04 21:49:30
字體:
供稿:網(wǎng)友

json_encode()函數(shù)是一個在php中可以把數(shù)組轉(zhuǎn)換成json格式的函數(shù)了,但json_encode函數(shù)對于英文是沒有任何問題,如果碰到中文或編碼有不致情況時會出現(xiàn)中文轉(zhuǎn)換之后變空了,下面我就來從多方面來介紹php返回json數(shù)據(jù)應(yīng)用與一些使用轉(zhuǎn)換時的問題解決辦法.

json_encode()函數(shù)用法:echo json_encode(array('a'=>'bbbb','c'=>'ddddd');

這樣就會生成一個標準的json格式的數(shù)據(jù),代碼如下:

  1. <?php 
  2.  
  3. //需要執(zhí)行的SQL語句 
  4. //單條 
  5. $sql="select id,name from tbl_user where id=1"
  6. //多條數(shù)據(jù) 
  7. //$sql="select id,name from tbl_user"; 
  8.  
  9. //調(diào)用conn.php文件進行數(shù)據(jù)庫操作  
  10. require('Conn.php'); 
  11.  
  12. //提示操作成功信息,注意:$result存在于conn.php文件中,被調(diào)用出來  
  13. if($result)  
  14.  
  15. // $array=mysql_fetch_array($result,MYSQL_ASSOC); 
  16.  
  17.    
  18.  /*數(shù)據(jù)集 
  19.  
  20.  $users=array(); 
  21.  $i=0; 
  22.  while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ 
  23.  
  24.    echo $row['id'].'-----------'.$row['name'].'</br>'; 
  25.    $users[$i]=$row; 
  26.    $i++; 
  27.  
  28.  } 
  29.   echo json_encode(array('dataList'=>$users)); 
  30.  
  31.  */ 
  32.  
  33.  /*單條數(shù)據(jù)*/ 
  34.  
  35.  $row=mysql_fetch_row($result,MYSQL_ASSOC); 
  36.  
  37.  echo json_encode(array('jsonObj'=>$row)); 
  38.  
  39. mysql_free_result($result); 
  40. //釋放結(jié)果 
  41. mysql_close(); 
  42. //關(guān)閉連接 
  43.  
  44. ?> 

上面是數(shù)據(jù)庫生成json數(shù)據(jù)了.

單條數(shù)據(jù):{"jsonObj":{"id":"1","name":"lmw"}}

多條數(shù)據(jù):{"dataList":[{"id":"1","name":"lmw"},{"id":"2","name":"xxj"},{"id":"3","name":"xxxj"}]}

現(xiàn)在很多情況下,我們需要程序返回一個Json格式的結(jié)果,代碼如下:

  1. "UserKeyGetResponse"
  2. {"RequestName":"e99e6d63e8c712d7699f52978a","api_key_value":"41954dd9b1cb6a95802eab6810"}, 
  3. "error_response"
  4. {"code":"NO_ERROR","msg":"獲取系統(tǒng)參數(shù)成功"

可以將結(jié)果寫成這樣的數(shù)組形式:

$respon = array('UserKeyGetResponse' => array('RequestName' => $api_request_name, 'api_key_value' => $api_key_value),'error_response' => array('code' => 'NO_ERROR', 'msg' => '獲取系統(tǒng)參數(shù)成功'));

PHP實例代碼如下:

  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.             } 
  18.         } 
  19.     } 
  20.     $recursive_counter--; 
  21. }//開源代碼Vevb.com 
  22.  
  23. g: 
  24. $error_respon = array('code' => 'ERROR_MSG_MISS''msg' => '消息不存在'); 
  25. echo JSON($array); 

結(jié)果為:{"code":"ERROR_MSG_MISS","msg":"消息不存在"}

客戶端就可以解析這個結(jié)果了,當(dāng)然錯誤碼要用數(shù)字代替,這樣就好多了我們顯示的直接是中文了,當(dāng)然顯示那個16進制的編碼也是沒有問題的.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 福州市| 新乡县| 沁源县| 宾川县| 板桥市| 通州区| 宁南县| 康定县| 寻乌县| 交城县| 土默特右旗| 香格里拉县| 黔西县| 来凤县| 通海县| 卢氏县| 内江市| 蒙阴县| 西和县| 启东市| 筠连县| 上虞市| 泗水县| 惠东县| 贵州省| 赞皇县| 鄂尔多斯市| 浮梁县| 什邡市| 太白县| 济源市| 克什克腾旗| 顺平县| 罗平县| 阳谷县| 铁岭市| 绍兴市| 常熟市| 闻喜县| 大兴区| 贡嘎县|