本文目錄一覽:
- 1、php查詢數據庫數據並json顯示
- 2、php判斷數據是不是JSON格式示例
- 3、如何在PHP中解析json
- 4、PHP生成及獲取JSON文件的方法
- 5、PHP查詢數據庫表,如何生成二維JSON
- 6、關於PHP 請求 json的辦法
php查詢數據庫數據並json顯示
header(“Content-type:text/html;charset=utf-8”);
mysql_connect(‘主機名’,’賬號’,’密碼’);
mysql_select_db(‘數據庫名’);
mysql_query(‘set names utf8’);
$sql=”SELECT username,regdate FROM 表名 where username='”.$_GET[‘USERNAME’].”‘”;
$res=mysql_query($sql);
if($row = mysql_fetch_row($res)){
$json = array(
‘state’=true,
‘username’=$row[0],
‘regdate’=$row[1],
‘rand_num’=date(‘Y/m/d H:i:s’)
);
}else{
$json = array(
‘state’=false,
‘rand_num’=date(‘Y/m/d H:i:s’)
);
}
echo json_encode($json);
exit();
明白的人應該一眼就能看懂吧
php判斷數據是不是JSON格式示例
首先要記住json_encode返回的是字符串, 而json_decode返回的是對象.
判斷數據不是JSON格式:
代碼如下
function is_not_json($str){
return is_null(json_decode($str));
}
判斷數據是合法的json數據: (PHP版本大於5.3)
function is_json($string) {
json_decode($string);
return (json_last_error() == JSON_ERROR_NONE);
}
json_last_error()函數返回數據編解碼過程中發生的錯誤.
注意: json編解碼所操作字符串必須是UTF8的.
/**
* 解析json串
* @param type $json_str
* @return type
*/
function analyJson($json_str) {
$json_str = str_replace(‘\\’, ”, $json_str);
$out_arr = array();
preg_match(‘/{.*}/’, $json_str, $out_arr);
if (!empty($out_arr)) {
$result = json_decode($out_arr[0], TRUE);
} else {
return FALSE;
}
return $result;
}
如果不是json則返回false
如何在PHP中解析json
目前,JSON已經成為最流行的數據交換格式之一,各大網站的API幾乎都支持它。
從5.2版本開始,PHP原生提供json_encode()和json_decode()函數,前者用於編碼,後者用於解碼。
一、json_encode()
該函數主要用來將數組和對象,轉換為json格式。先看一個數組轉換的例子:
$arr = array (‘a’=1,’b’=2,’c’=3,’d’=4,’e’=5);
echo json_encode($arr);
結果為
{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}
由於json只接受utf-8編碼的字符,所以json_encode()的參數必須是utf-8編碼,否則會得到空字符或者null。當中文使用GB2312編碼,或者外文使用ISO-8859-1編碼的時候,這一點要特別注意。
二、索引數組和關聯數組
PHP支持兩種數組,一種是只保存”值”(value)的索引數組(indexed array),另一種是保存”名值對”(name/value)的關聯數組(associative array)。
由於javascript不支持關聯數組,所以json_encode()只將索引數組(indexed array)轉為數組格式,而將關聯數組(associative array)轉為對象格式。
比如,現在有一個索引數組
$arr = Array(‘one’, ‘two’, ‘three’);
echo json_encode($arr);
結果為:
[“one”,”two”,”three”]
三、類(class)的轉換
下面是一個PHP的類: class Foo { const ERROR_CODE = ‘404’; public $public_ex = ‘this is public’; private $private_ex = ‘this is private!’; protected $protected_ex = ‘this should be protected’; public function getErrorCode() { return self::ERROR_CODE; } }
現在,對這個類的實例進行json轉換:
$foo = new Foo;
$foo_json = json_encode($foo);
echo $foo_json;
輸出結果是
{“public_ex”:”this is public”}
可以看到,除了公開變量(public),其他東西(常量、私有變量、方法等等)都遺失了。
PHP生成及獲取JSON文件的方法
本文實例講述了PHP生成及獲取JSON文件的方法。分享給大家供大家參考,具體如下:
首先定義一個數組,然後遍曆數據表,把相應的數據放到數組中,最後通過json_encode()轉化數組
json_encode()
函數的功能是將數值轉換成
JSON
數據存儲格式。
putjson.php:
?php
//
生成一個PHP數組
$data
=
array();
$data[0]
=
array(‘1′,’吳者然’,’onestopweb.cn’);
$data[1]
=
array(‘2′,’何開’,’iteye.com’);
//
把PHP數組轉成JSON字符串
$json_string
=
json_encode($data);
//
寫入文件
file_put_contents(‘test.json’,
$json_string);
?
有同名的
JSON
文件則覆蓋,沒有則創建。
生成或覆蓋的
JSON
如下:
複製代碼
代碼如下:[[“1″,”\u811A\u672C\u4E4B\u5BB6″,””],[“2″,”\u7F16\u7A0B\u5F00\u53D1″,”jb51.net”]]
然後,把
JSON
文件中的數據讀取到PHP變量中。
getjson.php:
?php
//
從文件中讀取數據到PHP變量
$json_string
=
file_get_contents(‘test.json’);
//
把JSON字符串轉成PHP數組
$data
=
json_decode($json_string,
true);
//
顯示出來看看
var_dump($data);
echo
‘brbr’;
print_r($data);
echo
‘brbr’;
echo
‘編號:’.$data[0][0].’
姓名:’.$data[0][1].’
網址:’.$data[0][2];
echo
‘br’;
echo
‘編號:’.$data[1][0].’
姓名:’.$data[1][1].’
網址:’.$data[1][2];
?
效果圖:
PS:這裡再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
JSON在線格式化工具:
在線XML/JSON互相轉換工具:
json代碼在線格式化/美化/壓縮/編輯/轉換工具:
C語言風格/HTML/CSS/json代碼格式化美化工具:
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP中json格式數據操作技巧匯總》、《PHP針對XML文件操作技巧總結》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
PHP查詢數據庫表,如何生成二維JSON
mysql查詢某個數據庫下所有表名的sql語句:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ‘數據庫名稱’
具體生成示例如下:
?php
//連接數據庫
$con = mysql_connect(“localhost”,”root”,””);
if (!$con)
{
die(‘Could not connect: ‘ . mysql_error());
}
//選擇要操作的數據庫
mysql_select_db(“activity”);
//sql語句
$sql=”SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ‘activity'”;
//執行sql
$result=mysql_query($sql);
$arr=array();
$i=0;
while($row=mysql_fetch_row($result))
{
$arr[$i] = $row[0];
$i++;
}
//將結果轉換為json格式
$json=json_encode($arr);
//輸出結果
print_r($json);
//關閉mysql數據庫連接
mysql_close($con);
?
生成結果:
關於PHP 請求 json的辦法
假設get到的數據是$a = {“code”:0};
$b = json_decode($a); //$b =array(‘code’=0);
if(empty($b[‘code’])){
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151413.html