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 相关文章推荐
phpinfo 系统查看参数函数代码
Jun 05 PHP
php缓冲 output_buffering的使用详解
Jun 13 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 PHP
php图片上传类 附调用方法
May 15 PHP
CodeIgniter生成静态页的方法
May 17 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
Nov 10 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 PHP
Laravel关系模型指定条件查询方法
Oct 10 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 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
怎么使 Mysql 数据同步
2006/10/09 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
2006/11/25 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
js arguments对象应用介绍
2012/11/28 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
微信小程序-form表单提交代码实例
2019/04/29 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
大学生职业生涯规划书汇总
2014/03/20 职场文书
大学生社会实践方案
2014/05/11 职场文书
先进学校事迹材料
2014/12/30 职场文书
简历自我评价模板
2015/03/11 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
创业计划书之服装
2019/10/07 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android