📜  php 返回 json 数据 - PHP (1)

📅  最后修改于: 2023-12-03 15:18:32.438000             🧑  作者: Mango

PHP返回JSON数据

在Web开发中,常常需要将数据以JSON格式返回给前端。PHP提供了简单易用的函数来将PHP数组转换成JSON格式,同时也可以将JSON格式的字符串还原为PHP数组。

返回JSON数据的PHP函数

PHP中提供了json_encode()json_decode()函数来完成JSON格式和PHP数组之间的转换。

json_encode()

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_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数据的完整示例

以下是一个返回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格式返回的功能。