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