json經常用於介面向外傳遞資料,而php最重要的乙個用法就是作為資料介面向外傳遞資料;因此了解php對json資料的操作很重要;
json_encode():作用是將陣列或者物件轉換為json的資料格式;
下面詳解:
$json = json_encode($array);
比如:
phpjson.php
<?php
$arr = array(
"name" => "tom",
"age" =>22,
);echo json_encode($arr);
執行一下就可以看到將陣列轉換為了json格式的資料:
$json = json_encode($obj);
例項:
<?php
class
phpjson
$obj = new phpjson;
echo json_encode($obj);
$json = json_encode(object($arr));
例項:
<?php
$arr = array(1,2,3,4);
echo json_encode((object)$arr);
執行一下:
可以看到強制轉換索引陣列的時候會吧陣列的下標當做key進行轉換;
<?php
$json = "";
echo
$json;
注意外面的引號和裡面key的引號不能衝突了;json_decode():解析json資料格式,解析為陣列或者物件,預設狀態下解析為物件;
$array = json_decode($json,true); //將會解析成陣列;
<?php
//先建立乙個json物件
class
phpjson
$obj = new phpjson;
$json = json_encode($obj);
//在此處列印解析之後的結果,把第二個引數設定為true;則會解析成陣列;
print_r(json_decode($json,true));
執行結果:
可以看到json資料被解析為陣列;
$obj = json_decode($json); //預設將會解析成物件;
<?php
//先建立乙個json物件
class
phpjson
$obj = new phpjson;
$json = json_encode($obj);
//此時列印解析之後的結果,第二個引數是false或者不設定,則解析為物件
print_r(json_decode($json));
執行結果:
可以看到列印的資料型別是object;
php向外提供json資料只需要把轉換好得json資料echo
一下即可;
php向外傳遞json資料一次只能傳遞乙個json資料;
所以php需要通過json格式向外傳遞多個資料的時候必須將所有資料封裝在乙個json物件中傳遞;
7 PHP 教程 PHP常量
常量值被定義後,在指令碼的其他任何地方都不能被改變.php常量 常量是乙個簡單值的識別符號.該值在指令碼中不能改變.乙個常量由英文本母 下劃線 和數字組成,但數字不能作為首字母出現。常量名不需要加 修飾符 注意 常量在整個指令碼中都可以使用.設定php常量 設定常量,使用define 函式,函式語法...
7 php 記憶體洩漏 PHP 記憶體管理
php 的記憶體管理來自於 zend 引擎。php 的記憶體管理與預防記憶體洩漏緊密關聯。有關執行緒內全域性資料處理的資訊請參見作為執行緒隔離設施的執行緒安全的資源管理器。此外,zend 引擎要面對乙個十分特殊的使用模式 在一段比較短的時間內,許多 zval 結構大小的記憶體塊和其他的小記憶體塊被申...
php學習筆記(7) PHP陣列的建立修改使用
1 建立 和 修改 陣列 php中使用 array 來建立乙個陣列 array key value key value 例子 arr array 3,5,7,9,6 arr array id 2,title 3 用方括號的語法來修改陣列 arr value b 教程 c y arr a php ar...