PHP 和 JSON
什么是 JSON?
JSON 是 JavaScript Object Notation 的缩写,是一种用于存储和交换数据的语法。
由于 JSON 格式是基于文本的格式,它可以轻松地与服务器之间发送,并被任何编程语言用作数据格式。
PHP 和 JSON
PHP 包含一些内置函数来处理 JSON。
首先,我们将查看以下两个函数:
- json_encode()
- json_decode()
PHP - json_encode()
函数 json_encode() 用于将值编码为 JSON 格式。
示例
本示例演示了如何将关联数组编码为 JSON 对象:
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
自己动手试一试 »
示例
本示例演示了如何将索引数组编码为 JSON 数组:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
运行示例 »
PHP - json_decode()
函数 json_decode() 用于将 JSON 对象解码为 PHP 对象或关联数组。
示例
本示例将 JSON 数据解码为 PHP 对象:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
运行示例 »
json_decode() 函数默认返回一个对象。函数 json_decode() 有第二个参数,当设置为 true 时,JSON 对象会被解码为关联数组。
示例
本示例将 JSON 数据解码为 PHP 关联数组:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj, true));
?>
运行示例 »
PHP - 访问解码后的值
以下是两种访问对象和关联数组中解码值的方法:
示例
本示例演示了如何访问 PHP 对象中的值:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
运行示例 »
示例
本示例演示了如何访问 PHP 关联数组中的值:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
运行示例 »
PHP - 遍历值
您也可以使用 foreach() 循环遍历值。
示例
本示例演示了如何遍历 PHP 对象中的值:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
运行示例 »
示例
本示例演示了如何遍历 PHP 关联数组中的值:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
运行示例 »