首页 时尚 演艺 游戏 八卦 音乐 影视 活动 热点 快讯 聚焦 综合 资讯
当前位置:首页 > 快讯 > 正文

php怎么将json字符串转换为数组和对象

2023-03-23 14:28:16    来源:PHP中文网

在PHP开发过程中,Json字符串转换为对象和数组是一个常见的操作。Json是一种数据格式,而PHP是一种编程语言,它可以通过json_decode()函数将Json字符串转换为PHP对象和数组。在本文中,我们将学习如何使用Json字符串最常用的方法之一——将Json字符串转换为PHP关联数组和对象。

Json字符串的格式

在我们学习Json字符串转换为PHP对象和数组之前,让我们先回顾一下Json字符串的格式。Json字符串是一个文本数据,使用键值对的形式存储数据。每个键值对由一个“键”和一个“值”组成,“键”用双引号包围,“值”可以是一个数值、一个字符串、一个布尔值、一个空值、一个Json对象或一个Json数组。


(相关资料图)

下面是一个Json字符串的例子:

{    "name": "张三",    "age": 25,    "gender": "男",    "address": {        "province": "北京",        "city": "朝阳区",        "street": "和平路"    },    "hobbies": [        "篮球",        "游泳",        "旅游"    ]}
登录后复制

在上面的例子中,“name”、“age”、“gender”、“address”和“hobbies”是这个Json字符串的“键”,它们分别对应着“张三”、“25”、“男”、“address”和“hobbies”。其中,“address”是一个Json对象,“hobbies”是一个Json数组。

将Json字符串转换为PHP数组

在PHP中,将Json字符串转换为数组的方法是使用json_decode()函数。json_decode()函数的语法如下:

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
登录后复制

其中,$json参数是要转换的Json字符串,$assoc参数表示是否将Json对象转换为PHP关联数组(true表示转换为PHP关联数组,false表示转换为PHP对象),$depth参数表示转换的最大深度(默认为512),$options参数表示解码时的选项(默认为0)。

下面是一个将Json字符串转换为PHP数组的例子:

登录后复制

在上面的例子中,我们首先定义了一个Json字符串 $json_str。我们使用json_decode()函数将 $json_str 转换为PHP数组,并将结果存储在 $arr 变量中。最后,我们使用print_r()函数输出了数组的内容。

输出结果如下所示:

Array(    [name] => 张三    [age] => 25    [gender] => 男    [address] => Array        (            [province] => 北京            [city] => 朝阳区            [street] => 和平路        )    [hobbies] => Array        (            [0] => 篮球            [1] => 游泳            [2] => 旅游        ))
登录后复制

将Json字符串转换为PHP对象

除了将Json字符串转换为PHP数组,还可以将其转换为PHP对象。这个过程也可以使用json_decode()函数来实现,只需要将第二个参数设置为false或省略即可。

下面是一个将Json字符串转换为PHP对象的例子:

登录后复制

在上面的例子中,我们将第二个参数设置为false,其结果会被转换为一个PHP对象。

输出结果如下所示:

stdClass Object(    [name] => 张三    [age] => 25    [gender] => 男    [address] => stdClass Object        (            [province] => 北京            [city] => 朝阳区            [street] => 和平路        )    [hobbies] => Array        (            [0] => 篮球            [1] => 游泳            [2] => 旅游        ))
登录后复制

将Json字符串中的对象转换为PHP数组

如果Json字符串中含有对象,并且需要将其转换为PHP关联数组,可以先将其转换为PHP对象,然后使用 typecast() 函数将其转换为关联数组。

下面是一个将Json字符串中的对象转换为PHP关联数组的例子:

登录后复制

在上面的例子中,我们首先使用json_decode()函数将Json字符串转换为PHP对象。然后使用json_encode()函数将PHP对象转换为Json字符串,并再次使用json_decode()函数将其转换为PHP关联数组。最后,我们使用print_r()函数输出了数组的内容。

输出结果与第一个例子相同。

以上就是php怎么将json字符串转换为数组和对象的详细内容,更多请关注php中文网其它相关文章!

猜您喜欢
  • php怎么将json字符串转换为数组和对象
    php怎么将json字符串转换为数组和对象
    在PHP开发过程中,Json字符串转换为对象和数组是一个常见的操作。Json是一种数据格式,而PHP是一种编程... 2023-03-23
  • 当前播报:奇幻恋爱游戏《魔女的花园》4月7日登陆Steam
    当前播报:奇幻恋爱游戏《魔女的花园》4月7日登陆Steam
    由日本美少女游戏知名大厂WindmillOasis(风车社)为纪念品牌成立十周年所倾力打造的奇幻恋爱大作《魔女... 2023-03-23
  • 《英雄联盟》2023季中冠军赛5月2日在伦敦举办 LPL赛区两支队伍参赛
    《英雄联盟》2023季中冠军赛5月2日在伦敦举办 LPL赛区两支队伍参赛
    《英雄联盟》今日宣布2023年季中冠军赛(MSI)将于5月2日至5月21日在英国伦敦举办,本届比赛将邀请LPL赛... 2023-03-23
  • 2021款兰博基尼URUS到店,这个外观有多少人会很喜欢?
    2021款兰博基尼URUS到店,这个外观有多少人会很喜欢?
    作为兰博基尼旗下首台SUV,URUS一跃成为兰博基尼的“明星车型”,每年对兰博基尼的贡献巨大,事实证明,... 2023-03-23
  • 繁华事散逐香尘原文及翻译
    繁华事散逐香尘原文及翻译
    1、原文:繁华事散逐香尘,流水无情草自春日暮东风怨啼鸟,落花犹似坠楼人。2、译文:金谷园里的繁华奢... 2023-03-23
  • 世界简讯:《英雄联盟》新英雄“米利欧”技能介绍 13.7版本上线
    世界简讯:《英雄联盟》新英雄“米利欧”技能介绍 13.7版本上线
    《英雄联盟》发布了新英雄“米利欧”的技能介绍影片,“米利欧”目前已上线测试服,预计将在13 7版本中... 2023-03-23
  • 世界观点:PS5《霍格沃茨之遗》玩家数少了一半 已经凉了?
    世界观点:PS5《霍格沃茨之遗》玩家数少了一半 已经凉了?
    近日据外媒truetrophies报道,根据从300多万个活跃PSN账户中提取的游戏数据显示,《霍格沃茨之遗》PS5版... 2023-03-23
  • 全球资讯:教育部:九年义务教育巩固率95.5% 小学在校生1.07亿人
    全球资讯:教育部:九年义务教育巩固率95.5% 小学在校生1.07亿人
    央视网消息:3月23日,教育部召开新闻发布会,介绍2022年全国教育事业发展基本情况。2022年,九年义务教... 2023-03-23
  • 你也跟风?Nexon《冒险岛:宇宙》将包含区块链NFT-世界今亮点
    你也跟风?Nexon《冒险岛:宇宙》将包含区块链NFT-世界今亮点
    Nexon日前透露,其热门系列新作《冒险岛:宇宙(MapleStory:Universe)》将允许用户创建和管理NFT。根... 2023-03-23
  • 全球滚动:克苏鲁风恐怖冒险游戏《Eresys》4月21日登陆Steam
    全球滚动:克苏鲁风恐怖冒险游戏《Eresys》4月21日登陆Steam
    发行商DragonisGames宣布克苏鲁风合作恐怖冒险游戏《Eresys》将于4月21日登陆Steam平台,本作支持繁体中... 2023-03-23
  • SNK公开《拳皇15》DLC角色“金家藩”宣传片
    SNK公开《拳皇15》DLC角色“金家藩”宣传片
    今日(3月23日),SNK官方公布了《拳皇15》第二赛季DLC角色第二弹“金家藩”(CV 河本邦弘)的宣传片,DL... 2023-03-23
  • 环球实时:《铃芽之旅》发布中文终极预告 3月24日正式上映
    环球实时:《铃芽之旅》发布中文终极预告 3月24日正式上映
    新海诚电影《铃芽之旅》发布了中文终极预告,该片将于3月24日正式上映,目前国内预售票房已突破9000万,... 2023-03-23
  • 环球关注:广东省首届职工心理健康服务职业技能大赛开赛
    环球关注:广东省首届职工心理健康服务职业技能大赛开赛
    人工智能朗读:南方日报讯(记者 唐亚冰通讯员 田甜陈振豪)“科研压力大、睡眠不足等问题是影响高新科技... 2023-03-23
  • 《暗黑破坏神4》仅主机平台支持本地合作 PC没有类似的技术
    《暗黑破坏神4》仅主机平台支持本地合作 PC没有类似的技术
    在接受Eurogamer采访时,暗黑破坏神系列总经理RodFergusson确认本地合作功能将仅限于主机平台,因为目前... 2023-03-23
  • 《足球小将》全新动画第二季预告 预定10月开播
    《足球小将》全新动画第二季预告 预定10月开播
    经典动漫《足球小将》的全新动画系列第二季预定10月开播,新主题选定朱尼亚纽斯篇,日前官方公布了新预... 2023-03-23
  • Quest商店收入超16亿美元 Meta宣布Oculus发行部门
    Quest商店收入超16亿美元 Meta宣布Oculus发行部门
    Meta日前公布了其VR发布部门的正式名称OculusPublishing。该部门将与工作室合作,提供资金、制作和推广... 2023-03-23
  • 环球看点!《赛博朋克2077》超速光追模式将于4月11日发布
    环球看点!《赛博朋克2077》超速光追模式将于4月11日发布
    近日CDPR在GDC2023上宣布,备受期待的《赛博朋克2077》超速光追模式(RTXPathTracingOverdriveMode)将于4月11日发布。《 2023-03-23
  • 火灾的危害有哪些多选题_火灾的危害有哪些
    火灾的危害有哪些多选题_火灾的危害有哪些
    1、火灾的危害有缺氧、高温、毒性气体、尘害四种。2、为避免火灾致命伤害,必须熟悉消防标志,找到安全... 2023-03-23
  • 恐怖游戏《女鬼桥二 释魂路》Steam页面上线
    恐怖游戏《女鬼桥二 释魂路》Steam页面上线
    恐怖游戏《女鬼桥二释魂路》Steam商店页面上线,发行日期即将公开。本作由软星娱乐开发和发行。《女鬼桥... 2023-03-23
  • 《反恐精英2》官宣!可免费从CSGO升级
    《反恐精英2》官宣!可免费从CSGO升级
    今日V社毫无预兆地公布了一个爆炸性消息——《反恐精英2(Counter-Strike2)》正式官宣,采用起源2引擎... 2023-03-23
  • Copyright © 2008-2015 当代娱乐网版权所有   Inc. All Rights Reserved.    联系邮箱:55 16 53 8 @qq.com  京ICP备2021034106号-22