PHP使用new StdClass()创建空对象的方法分析


Posted in PHP onJune 06, 2017

本文实例讲述了PHP使用new StdClass()创建空对象的方法。分享给大家供大家参考,具体如下:

PHP可以用 $object = new StdClass(); 创建一个没有成员方法和属性的空对象。

很多时候,程序员们会将一些参数配置项之类的信息放在数组中使用,但是数组操作起来并不是很方便,很多时候使用对象操作符->xxx比数组操作符['xxx']要方便不少。于是就需要创建一个空的对象,来将需要的属性名和属性值存储到对象中。

然而PHP中没有Javascript里面 var object = {}; 这样的语法。

PHP创建空对象至少可以使用3种方法实现

方法一:写一个空类

勉强能完成任务,但是特别没有格局。

<?php
  class cfg {
  }
  $cfg = new cfg;
  $cfg->dbhost = '3water.com';
  echo $cfg->dbhost;
?>

方法二:实例化 StdClass 类

StdClass类是PHP中的一个基类,然而比较诡异的是PHP手册里面血几乎没有提到过这个类,至少在PHP索引中是搜索不到这个类的。

StdClass类没有任何成员方法,也没有任何成员属性,实例化以后就是一个空对象。

<?php
  $cfg = new StdClass();
  $cfg->dbhost = '3water.com';
  echo $cfg->dbhost;
?>

方法三:折腾json_encode()和json_decode()

这种方法就是把一个空的JSON对象通过json_decode()转变为PHP的StdClass空对象。

同样的道理,你可以将一个数组通过json_encode()转成JSON,再通过json_decode()将JSON转为StdClass对象,

关于这两个函数,可以参考PHP手册。

<?php
  $cfg = json_decode('{}');
  $cfg->dbhost = '3water.com';
  echo $cfg->dbhost;
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 删除cookie和浏览器重定向
Mar 16 PHP
比较好用的PHP防注入漏洞过滤函数代码
Apr 11 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
百度实时推送api接口应用示例
Oct 21 PHP
php给一组指定关键词添加span标签的方法
Mar 31 PHP
PHP设置进度条的方法
Jul 08 PHP
php生成二维码
Aug 10 PHP
php格式化时间戳
Dec 17 PHP
使用PHPMailer发送邮件实例
Feb 15 PHP
php文件上传类的分享
Jul 06 PHP
Laravel框架Request、Response及Session操作示例
May 06 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 PHP
php 7新特性之类型申明详解
Jun 06 #PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 #PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 #PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 #PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 #PHP
PHP培训要多少钱
Jun 06 #PHP
Mac系统完美安装PHP7详细教程
Jun 06 #PHP
You might like
php中preg_match的isU代表什么意思
2015/10/01 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
Javascript缓存API
2016/06/14 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Python应用库大全总结
2018/05/30 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
酷瑞网络科技面试题
2012/03/30 面试题
大学生入党思想汇报
2014/01/01 职场文书
列车长先进事迹材料
2014/01/25 职场文书
优秀求职信范文分享
2014/01/26 职场文书
单位委托函范文
2015/01/29 职场文书
2014年底个人工作总结
2015/03/10 职场文书
行政申诉状范文
2015/05/20 职场文书
酒店员工管理制度
2015/08/05 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript