• 技术文章 >Java >java教程

    简单理解php中的stdClass类

    怪我咯怪我咯2017-07-14 15:10:44原创969
    stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。这篇文章主要介绍了PHP中的stdClass类,用白话介绍了stdClass类,需要的朋友可以参考下

    $user = new stdClass();
    $user->name = 'gouki';

    这样的代码,这是干嘛用的呢?
    翻开手册,搜索stdClass,你会发现,手册上几乎没有介绍,如果你再次搜索google,看到的也几乎全是英文解释。
    其实,stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。似乎没有其他作用。也几乎没有任何说明。
    或者,我们可以这么理解:stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。
    凡时用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。
    或者,我们可以又这么理解一下,正因为PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。
    例如:

    $user = new stdClass();
    $user->name = 'gouki';
    $myUser = $user;
    $myUser->name = 'flypig';

    如果在PHP4时代,这样的代码就是在消耗系统资源。因为:
    $myUser = $user;
    这是创建了一个拷贝。所以,在PHP4的时候,都是这样使用:

    $myUser = & $user;

    有人说,为什么不用数组呢?数组不是更方便吗?而且对于PHP这样的弱类型程序来说,用数组应该是最方便的。

    以上就是简单理解php中的stdClass类的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:stdClass php 中的
    上一篇:Java枚举类enum简介 下一篇:静态方法的加载顺序详解
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 一起来聊聊与Java中性能相关的设计模式• Java图文详解之实现图书管理系统• JAVA外观模式详解• 详细整理java枚举的使用总结• 带你搞懂JAVA反射机制(总结分享)
    1/1

    PHP中文网