json_encode()
此函數主要用來將陣列和對象,轉換為json格式。
$arr = array ('a'=>' a','b'=>'b','c'='c','d'=>'d','e'='e');
echo json_encode($arr);
輸出結果:
json只接受utf-8編碼的字符,json_encode()的參數必須是utf-8編碼。
class person
{
public $ name;
public $age;
public $height;
function __construct($name,$age,$height)
{
this->age = $age;
$this->height = $height;
}
}
$obj = new person("zhangsan",20,100);
$foo_json = json_encode($obj);
echo $foo_json;
輸出結果:
當類別中的屬性為私有變數的時候,就不會輸出。
json_decode()
此函數用於將json文字轉換為對應的PHP資料結構。
$json = '{"a":"hello","b":"world","c":"zhangsan","d":20 ,"e":170}';
var_dump(json_decode($json));
輸出結果:
通常情況下,json_decode()總是傳回一個PHP物件。
轉成陣列的:
$json = '{"a":"hello ","b":"world","c":"zhangsan","d":20,"e":170}';
var_dump(json_decode($json,ture));