Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP中通过json格式定义字面量对象

PHP中通过json格式定义字面量对象

作者头像
沈唁
发布于 2018-05-24 08:24:57
发布于 2018-05-24 08:24:57
1.7K00
代码可运行
举报
文章被收录于专栏:沈唁志沈唁志
运行总次数:0
代码可运行

PHPer 都知道 PHP 是不支持字面量了,至少目前版本都不支持。比如,在 JS 中可以这样定义 object

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var o = { 'name' : 'qq52o' , 'url' : 'www.qq52o.me' };
alert(o.name);

Python 中定义字典,也可以这样定义:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
o = { 'name' : 'qq52o' , 'url' : 'www.qq52o.me' }
print o['name']

但在 PHP 中这么定义 object:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$a = { "name" : "qq52o", "url" : "www.qq52o.me" };

会报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@qq52o www]# php a.php
PHP Parse error: syntax error, unexpected '{' in /data0/htdocs/www/a.php on line 4

我们可以借用 json 格式,用引号把包下然后再 json_decoude 就好。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$a = '{ "name" : "qq52o", "url" : "www.qq52o.me" }';
$a = json_decode($a);
print_r($a);

执行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@qq52o www]# php a.php
stdClass Object
(
[name] => qq52o
[url] => www.qq52o.me
)

由于 PHP 不支持字面量 or 匿名函数,所以使用以上定义的方法定义 object 时不能添加 function 到 object 里,还可以这样添加数组元素:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$a = '{ "name" : "qq52o", "url" : "www.qq52o.me" , "arr":["zhangsan","lisi"] }';
$a = json_decode($a);
print_r($a);

执行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@lee www]# php a.php
stdClass Object
(
[name] => qq52o
[url] => www.qq52o.me
[arr] => Array
   (
[0] => zhangsan
[1] => lisi
   )
)

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:PHP中通过json格式定义字面量对象

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP中把数据库查询结果输出为json格式
可以看到,直接进行json_encode();编码,是将三个数组分别转为了json格式,而且两端会出现中括号!!还有另外一种写法
Yiiven
2022/12/15
2K0
PHP系列 | PHP中的stdClass是什么?
stdClass 是 PHP 中的空类,用于将其他类型转换为对象。它类似于 Java 或 Python 对象。 stdClass 不是对象的基类
Tinywan
2024/01/23
2350
PHP系列 | PHP中的stdClass是什么?
PHP如何将数据库查询结果输出为json格式
近期做接口的时候需要做到一个操作,将数据库查询结果输出为json格式方便程序调用。 于是在网上看到了两种解法,就此分享出来,供大家学习以及自己日后进行参考。 可将其封装成专门将数据转换成json格式的接口
吃猫的鱼Code
2023/02/02
3.4K0
json_decode在php中的一些无法解析的字符串
 关于json_decode在php中的一些无法解析的字符串,包括以下几种常见类型。 一、Bug #42186 json_decode() won't work with \l 当字符串中含有\l的时候,json_decode是无法解析,测试代码: echo "***********json_decode() won't work with \l*************<br/>"; $json = '{"stringwithbreak":"line with a \lbreak!"}'; var_dum
蛋未明
2018/06/07
4.2K0
在PHP语言中使用JSON
我写过一篇《数据类型和JSON格式》,探讨它的设计思想。今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识。
ruanyf
2018/09/27
1K0
PHP知识点
JSON支持 包括json_encode(), json_decode()等函数,JSON算是在web领域非常实用的数据交换格式,可以被JS直接支持,JSON实际上JS语法的一部分。 JSON系列函数,可以将PHP中的数组结构与JSON字符串进行转换。 $arr=array( "key"=>"value", "array"=>array(1,2,3,4) ); $json=json_encode($arr); echo$json."<br />"; $object=json_decode($json); p
wangxl
2018/03/07
7310
JSON & PHP
PHP json_encode()函数用于在PHP JSON编码。这个函数成功返回JSON表示的值,失败则返回FALSE。
botkenni
2022/01/10
1.3K0
PHP JSON
PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
陈不成i
2021/07/14
1.6K0
php返回json格式的{}花括号
方括号的[]在json中调试是一个数组,而花括号{}在json中表示一个对象,不过二者在PHP中基本上一个empty就可以判断为i空了,但在js里好像就有一些麻烦了,可能需要下面的判断方式。
老高的技术博客
2022/12/28
1.8K0
PHP判断json格式是否正确的实现代码
废话不多说了,直接给大家贴代码了,具体代码如下所示: <?php $GLOBALS['count'] = 0; //校验data或者content的json格式是否有错误 function data(
用户2323866
2021/07/08
1.1K0
json_decode&json_encode傻傻分不清
json_decode($data,[bool]):将json数据转换为对象或数组
切图仔
2022/09/08
4720
python中encode和decode的区别_json decode
一、json_encode() 将PHP的数据结构转换成JOSN 代码1<?php $arr = array (‘a’=>1,’b’=>2,’c’=>3,’d’=>4,’e’=>5); echo js
全栈程序员站长
2022/11/08
1.9K0
PHP中的json_encode和json_decode
mixed json_decode ( string json [, bool assoc ] )
用户7657330
2020/08/14
3K0
深入学习PHP中的JSON相关函数
在我们当年刚刚上班的那个年代,还全是 XML 的天下,但现在 JSON 数据格式已经是各种应用传输的事实标准了。最近几年开始学习编程开发的同学可能都完全没有接触过使用 XML 来进行数据传输。当然,时代是一直在进步的,JSON 相比 XML 来说,更加地方便快捷,可读性更高。但其实从语义的角度来说,XML 的表现形式更强。
硬核项目经理
2021/09/24
7690
【黄啊码】PHP:这种方式可以将对象转数组,性能还杠杠的
什么,好好的对象就这么没了 ?what? 码字不易,涨薪更不易,所以甭管啥就是干! 1. //PHP stdClass Object转array function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) {
黄啊码
2021/09/26
3350
PHP中的强制类型转换
学过静态语言开发的朋友对类型转换不会陌生,比如Java、C#、C++等。静态语言的好处就是变量强制必须指定类型,这也是编译的要求,所以大部分编译型的语言都会有强制变量类型的要求。而PHP据说也会在PHP8中加入JIT实现编译功能,并且在7.4中就会引入变量声明时的类型指定。下面我们先看看目前PHP中的参数类型及返回值类型的使用。
硬核项目经理
2019/12/10
4.9K0
PHP完成微信小程序在线支付功能
微信支付现在用到的地方越来越多,从公众号支付,扫码支付一直到现在的小程序支付等等六种快捷支付方式,公司要求开发小程序商城,就只能我上手处理接口支付问题了,使用最常规的第三方模式,第三方帮特约商户申请商户号并为他进行支付开发,第三方本身不经手资金,支付成功后资金直接进入特约商户商户号。 废话不多说直接上代码。 小程序访问地址:payfee.php 如果使用 TP 框架处理后台的话,写成方法即可 include 'WeixinPay.php'; $appid=''; //小程序 appid $openid= $
沈唁
2018/05/24
4.4K5
彻底搞明白PHP的中引用的概念
之前我们其实已经有过几篇文章讲过引用方面的问题,这次我们来全面的梳理一下引用在PHP到底是怎么回事,它和C中的指针有什么不同,在使用的时候要注意些什么。
硬核项目经理
2020/04/26
6450
WordPress秒变谷歌AMP加速移动页面并自动推送
谷歌 AMP(Accelerated Mobile Pages)字面意思就是“加速移动网页”,官方解释是:Accelerated Mobile Page (AMP) 是根据开放源代码规范设计的网页。经过验证的 AMP 网页会缓存在 Google 的 AMP 缓存中,从而可以更快速地呈现给用户。 AMP 页面是大大简化了移动页面,旨在提高针对移动页面的访问速度,AMP 的特点如下: AMP 的 HTML 代码是标准 HTML 的一个子集,大大简化了 html 的代码,部分 Html 代码将不再适用,如 tab
沈唁
2018/05/24
2K0
PHP使用JSON
简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,而且 JSON 可以表示比名称/值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。
Java架构师必看
2021/03/22
2.7K0
相关推荐
PHP中把数据库查询结果输出为json格式
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验