zoukankan      html  css  js  c++  java
  • PHP new StdClass() 创建空对象

    PHP可以用 $object = new StdClass(); 创建一个没有成员方法和属性的空对象。
    很多时候,程序员们会将一些参数配置项之类的信息放在数组中使用,但是数组操作起来并不是很方便,很多时候使用对象操作符->xxx比数组操作符['xxx']要方便不少。于是就需要创建一个空的对象,来将需要的属性名和属性值存储到对象中。
    然而PHP中没有Javascript里面 var object = {}; 这样的语法。
    PHP创建空对象至少可以使用3种方法实现
    方法一:写一个空类
    勉强能完成任务,但是特别没有格局。

    <?php
            class cfg {                
            }        
            $cfg = new cfg;
            $cfg->dbhost = 'www.51-n.com';
            echo $cfg->dbhost;
    ?>

    方法二:实例化 StdClass 类
    StdClass类是PHP中的一个基类,然而比较诡异的是PHP手册里面血几乎没有提到过这个类,至少在PHP索引中是搜索不到这个类的。
    StdClass类没有任何成员方法,也没有任何成员属性,实例化以后就是一个空对象。

    <?php
            $cfg = new StdClass();
            $cfg->dbhost = 'www.51-n.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 = 'www.51-n.com';
            echo $cfg->dbhost;
    ?>
  • 相关阅读:
    std thread
    windows更新包发布地址
    How to set up logging level for Spark application in IntelliJ IDEA?
    spark 错误 How to set heap size in spark within the Eclipse environment?
    hadoop 常用命令
    windows 安装hadoop 3.2.1
    windows JAVA_HOME 路径有空格,执行软连接
    day01MyBatisPlus条件构造器(04)
    day01MyBatisPlus的CRUD 接口(03)
    day01MyBatisPlus入门(02)
  • 原文地址:https://www.cnblogs.com/baocheng/p/6800812.html
Copyright © 2011-2022 走看看