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 相关文章推荐
多重?l件?合查?(一)
Oct 09 PHP
PHP判断网络文件是否存在的方法
Mar 12 PHP
php两种无限分类方法实例
Apr 21 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
Zend Framework创建自己的动作助手详解
Mar 05 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP中Static(静态)关键字功能与用法实例分析
Apr 05 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
May 05 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
东方红 - 来复式再生机的修复
2021/03/02 无线电
十天学会php之第一天
2006/10/09 PHP
php时间不正确的解决方法
2008/04/09 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
smarty简单分页的实现方法
2014/10/27 PHP
php中JSON的使用方法
2015/04/30 PHP
PHP微信分享开发详解
2017/01/14 PHP
降低PHP Redis内存占用
2017/03/23 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
OpenCV实现人脸识别
2017/04/07 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
护理自荐信范文
2013/10/05 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书