PHP JSON


PHP可通過json_encode()json_decode()函式對JSON進行編碼和解碼。

1. PHP json_encode()函式

json_encode()函式返回值JSON的表示形式。 換句話說,它將PHP變數(包含陣列)轉換為JSON格式資料。

語法

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

PHP json_encode()函式範例1

下面來看看看將陣列編碼為JSON格式的例子。

<?php  
$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}

PHP json_encode()函式範例2

下面來看看看將陣列編碼為JSON格式的例子。

<?php  
$arr2 = array('firstName' => 'Max', 'lastName' => 'Su', 'email' => '[email protected]');    
echo json_encode($arr2);  
?>

上面範例程式碼執行結果如下 -

{"firstName":"Max","lastName":"su","email":"[email protected]"}

2. PHP json_decode()函式

json_decode()函式解碼JSON字串。 換句話說,它將JSON字串轉換為PHP變數。

語法

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

PHP json_decode()函式範例1

下面來看看看解碼JSON字串的例子。

<?php  
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';  
var_dump(json_decode($json, true));//true means returned object will be converted into associative array  
?>

執行上面程式碼得到以下結果 -

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

PHP json_decode()函式範例2

下面來看看看解碼JSON字串的例子。

<?php  
$json2 = '{"firstName" : "Max", "lastName" : "Su", "email" : "[email protected]"}';    
var_dump(json_decode($json2, true));  
?>

執行上面程式碼得到以下結果 -

array(3) { 
["firstName"]=> string(5) "Max" 
["lastName"]=> string(5) "Su" 
["email"]=> string(15) "[email protected]" 
}