json_encode
和 json_decode
是 PHP 中处理 JSON 数据格式的两个重要函数。它们的主要区别在于将 PHP 数组或对象转换为 JSON 字符串(编码)以及将 JSON 字符串解码为 PHP 数组或对象。
- json_encode:此函数用于将 PHP 数组或对象转换为一个 JSON 格式的字符串。它接受一个参数,即要编码的数据。例如:
$data = https://www.yisu.com/ask/array('name' => 'John', 'age' => 30, 'city' => 'New York' ); $json_data = https://www.yisu.com/ask/json_encode($data);'{"name":"John","age":30,"city":"New York"}'
- json_decode:此函数用于将一个 JSON 格式的字符串转换为一个 PHP 数组或对象。它接受一个参数,即要解码的 JSON 字符串。例如:
$json_data = 'https://www.yisu.com/ask/{"name":"John","age":30,"city":"New York"}'; $data = https://www.yisu.com/ask/json_decode($json_data);>name; // 输出:John echo $data->age; // 输出:30 echo $data->city; // 输出:New York
此外,json_decode
还接受一个可选的第二个参数,用于指定返回值的数据类型。例如,将其设置为 true
将返回一个关联数组,而不是一个对象:
$data = https://www.yisu.com/ask/json_decode($json_data, true);> John [age] => 30 [city] => New York )