您的位置:首页 > 编程语言 > PHP开发

关于stdClass

2015-06-02 16:11 555 查看
stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。stdClass是PHP的一个基类,所有的类几乎都继承 这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。凡时用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型 的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。

把数组变成对象实例:

    <?php  

    $array = array('name' => 'one',  

                   'sex' => 'two',  

                   'old' => 'three'  

                  );  

      

    $arrayobject = arrayToObject($array);  

      

    echo $arrayobject->name;  // one  

另外

    <?php  

    class EmptyClass {  

      

    }  

      

    $object = new EmptyClass();  

    if ($object instanceof stdClass) {  

        echo 'yes';  

    }else{  

        echo 'no';  

    }  

 

执行代码,输出”no”,这个例子充分说明了stdClass类并不是所有类的基类。它仅仅是PHP的一个保留类,或者说一个类似于strlen函数这样的一个角色。

stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法。stdClass类可以被继承,只是这样做没有什么意义。

 

说白了:

 

它是PHP提供的一个基类,就是一个空白的类.里面什么都没有.我们可以实例化它.然后定义一系列的变量,通过它来进行变量的传递.但是,由于实例化后不能添加方法.所以是不允许我们再添加任何方法的了.

    <?  

    $obj = new stdClass;  

    $obj->a = 1;  

    $obj->b = 2; 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stdClass php