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 trim 去除空字符的定义与语法介绍
May 31 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP递归统计系统中代码行数
Sep 19 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数据源表结构图示
2008/06/05 PHP
更正确的asp冒泡排序
2007/05/24 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
Python常用随机数与随机字符串方法实例
2015/04/09 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
初学者学习Python好还是Java好
2020/05/26 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
生日宴会答谢词
2014/01/09 职场文书
跳蚤市场口号
2014/06/13 职场文书
元旦趣味活动方案
2014/08/22 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
健康状况证明书
2014/11/26 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
Java后台生成图片的完整步骤
2021/08/04 Java/Android
javascript函数式编程基础
2021/09/15 Javascript
oracle索引总结
2021/09/25 Oracle