📅  最后修改于: 2023-12-03 15:18:32.438000             🧑  作者: Mango
在Web开发中,常常需要将数据以JSON格式返回给前端。PHP提供了简单易用的函数来将PHP数组转换成JSON格式,同时也可以将JSON格式的字符串还原为PHP数组。
PHP中提供了json_encode()
和json_decode()
函数来完成JSON格式和PHP数组之间的转换。
json_encode()
函数将PHP数组转化为JSON格式的字符串。以下是该函数的基本语法:
json_encode(mixed $data, int $options = 0, int $depth = 512): string|false;
$data
: 需要转化的PHP数组或者对象$options
: 一个或多个JSON编码选项的位掩码$depth
: 指定最大递归深度将一个PHP数组转化为JSON格式:
$data = array(
'name' => 'Jeremy',
'age' => 20,
'job' => 'Web Developer'
);
$json = json_encode($data);
echo $json; // {"name":"Jeremy","age":20,"job":"Web Developer"}
json_decode()
函数将JSON格式的字符串转化为PHP数组。以下是该函数的基本语法:
json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed;
$json
: 需要解码的JSON字符串$assoc
: 当该参数为 true
时,返回数组而非对象$depth
: 指定最大递归深度$options
: 一个或多个JSON解码选项的位掩码将一个JSON格式的字符串解码为PHP数组:
$json = '{"name":"Jeremy","age":20,"job":"Web Developer"}';
$data = json_decode($json, true);
print_r($data);
输出结果:
Array
(
[name] => Jeremy
[age] => 20
[job] => Web Developer
)
以下是一个返回JSON格式数据的完整示例:
<?php
//设置http请求头
header("Content-Type: application/json; charset=utf-8");
//构建数据
$data = array(
'name' => 'Jeremy',
'age' => 20,
'job' => 'Web Developer'
);
//将PHP数组转化为JSON格式的字符串
$json = json_encode($data);
//输出JSON格式字符串
echo $json;
?>
在PHP中,使用json_encode()
函数将PHP数组转化为JSON格式的字符串,使用json_decode()
函数将JSON格式的字符串转化为PHP数组,能够很方便地实现将数据以JSON格式返回的功能。