📅  最后修改于: 2023-12-03 15:03:42.236000             🧑  作者: Mango
在 PHP 中,我们可以使用内置函数 json_decode()
来将 JSON 字符串转换成 PHP 对象或数组。一旦我们获得了一个 PHP 对象或数组,我们就可以使用循环来遍历其中的元素。
下面是一个示例 JSON 字符串:
{
"name": "John",
"age": 30,
"city": "New York"
}
我们可以通过下面的代码将此 JSON 字符串转换成一个 PHP 对象:
$jsonStr = '{"name":"John","age":30,"city":"New York"}';
$obj = json_decode($jsonStr);
现在,我们可以使用 $obj
来访问对象中的属性:
echo $obj->name; // 输出 John
echo $obj->age; // 输出 30
echo $obj->city; // 输出 New York
除了将 JSON 字符串转换成 PHP 对象外,我们还可以将其转换成 PHP 数组。下面是一个示例 JSON 字符串:
[
{"name": "John", "age": 30},
{"name": "Jane", "age": 25},
{"name": "Jack", "age": 35}
]
我们可以通过下面的代码将此 JSON 字符串转换成一个 PHP 数组:
$jsonStr = '[{"name":"John","age":30},{"name":"Jane","age":25},{"name":"Jack","age":35}]';
$arr = json_decode($jsonStr, true);
现在,我们可以使用 $arr
数组来访问其中的元素:
foreach ($arr as $person) {
echo $person['name'] . ' is ' . $person['age'] . ' years old.' . "\n";
}
上述代码将输出:
John is 30 years old.
Jane is 25 years old.
Jack is 35 years old.
如果我们需要将一个 PHP 对象或数组转换成 JSON 字符串,可以使用内置函数 json_encode()
。下面是一个示例 PHP 对象:
$obj = new stdClass();
$obj->name = 'John';
$obj->age = 30;
$obj->city = 'New York';
我们可以使用下面的代码将此 PHP 对象转换成一个 JSON 字符串:
$jsonStr = json_encode($obj);
现在,$jsonStr
中将包含以下内容:
{"name":"John","age":30,"city":"New York"}
同样,如果我们需要将一个 PHP 数组转换成 JSON 字符串,也可以使用 json_encode()
。下面是一个示例 PHP 数组:
$arr = array(
array('name' => 'John', 'age' => 30),
array('name' => 'Jane', 'age' => 25),
array('name' => 'Jack', 'age' => 35)
);
我们可以使用下面的代码将此 PHP 数组转换成一个 JSON 字符串:
$jsonStr = json_encode($arr);
现在,$jsonStr
中将包含以下内容:
[{"name":"John","age":30},{"name":"Jane","age":25},{"name":"Jack","age":35}]
总结一下,PHP 中处理 JSON 数据只需要使用内置函数 json_decode()
和 json_encode()
即可,特别是将 JSON 字符串转换成 PHP 对象或数组、以及将 PHP 对象或数组转换成 JSON 字符串等常见操作。而循环遍历 PHP 对象或数组,则可以使用 foreach
和基本的数组或对象访问语法。