【PHP】json_decode的第二个参数是什么意思

json_decode() 函数的第二个参数 $associative 是一个布尔值,用于控制 JSON 对象在 PHP 中的解码方式。当将其设置为 true 时,JSON 对象将被解码为关联数组;当设置为 false 时,JSON 对象将被解码为 stdClass 对象。默认值为 false

语法:

php 复制代码
function json_decode ($json, $associative = false, $depth = 512, $flags = 0) {}

以下是 json_decode() 函数的两种解码方式的示例:

  1. $associative 设置为 true 时,JSON 对象将被解码为关联数组:

    php 复制代码
    <?php
    $json = '{"name": "John", "age": 30, "city": "New York"}';
    
    $decoded = json_decode($json, true);
    
    print_r($decoded); // 输出:Array ( [name] => John [age] => 30 [city] => New York )
    ?>
  2. $associative 设置为 false 时(默认值),JSON 对象将被解码为 stdClass 对象:

    php 复制代码
    <?php
    $json = '{"name": "John", "age": 30, "city": "New York"}';
    
    $decoded = json_decode($json);
    
    print_r($decoded); // 输出:stdClass Object ( [name] => John [age] => 30 [city] => New York )
    ?>

在这两个示例中,我们使用 json_decode() 函数解码 JSON 字符串。

第一个示例中,我们将 $associative 参数设置为 true,以便将 JSON 对象解码为关联数组。

第二个示例中,我们将 $associative 参数设置为默认值 false,以便将 JSON 对象解码为 stdClass 对象。

相关推荐
guygg8813 小时前
NOMA功率分配与64 QAM调制中的SIC的MATLAB仿真
开发语言·matlab
flushmeteor13 小时前
JDK源码-基础类-String
java·开发语言
u01092727114 小时前
C++中的策略模式变体
开发语言·c++·算法
雨季66615 小时前
构建 OpenHarmony 简易文字行数统计器:用字符串分割实现纯文本结构感知
开发语言·前端·javascript·flutter·ui·dart
雨季66615 小时前
Flutter 三端应用实战:OpenHarmony 简易倒序文本查看器开发指南
开发语言·javascript·flutter·ui
进击的小头15 小时前
行为型模式:策略模式的C语言实战指南
c语言·开发语言·策略模式
天马379815 小时前
Canvas 倾斜矩形绘制波浪效果
开发语言·前端·javascript
Tansmjs16 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
qx0916 小时前
esm模块与commonjs模块相互调用的方法
开发语言·前端·javascript
Suchadar16 小时前
if判断语句——Python
开发语言·python