【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 对象。

相关推荐
@老蝴1 小时前
C语言 — 通讯录模拟实现
c语言·开发语言·算法
♚卜卦3 小时前
面向对象 设计模式简述(1.创建型模式)
开发语言·设计模式
安全系统学习3 小时前
网络安全之RCE简单分析
开发语言·python·算法·安全·web安全
Swift社区4 小时前
Swift 解法详解:如何在二叉树中寻找最长连续序列
开发语言·ios·swift
yutian06064 小时前
C# 支持 ToolTip 功能的控件,鼠标悬停弹提示框
开发语言·microsoft·c#
byte轻骑兵4 小时前
【C++特殊工具与技术】优化内存分配(四):定位new表达式、类特定的new、delete表达式
开发语言·c++
chao_7895 小时前
标注工具核心代码解析——class AnnotationVie【canvas.py]
开发语言·python·qt5
YuTaoShao5 小时前
Java八股文——JVM「内存模型篇」
java·开发语言·jvm
开开心心就好5 小时前
电脑扩展屏幕工具
java·开发语言·前端·电脑·php·excel·batch