首页 > 编程 > PHP > 正文

PHP内置类stdClass概述

2020-03-22 17:48:51
字体:
来源:转载
供稿:网友
  • PHP中的stdClass是一个PHP的内置类,基本上是所有类的基类。它的特点是它里面没有任何方法。它的作用是把一个非object类型数据转化为object类型数据。

    下面是一个把数组转化为object类型数据的函数:(也可以用PHP的类型强制转换)


    function arrayToObject($array) {           if(!is_array($array)) {          return $array;      }           $object = new stdClass();             if (is_array($array) && count($array) > 0) {                     foreach ($array as $name=>$html' target='_blank'>value)                {                               $name = strtolower(trim($name));                                if (isset($name))                           {              $object->$name = arrayToObject($value);           }                     }        return $object;                }           else {        return FALSE;      }  }

    stdclass可以作为基类使用,其最大特点是,(其派生类)可以自动添加成员变量,而无须在定义时说明。
    一切php变量都是 stdClass 的实例


          class ccs  extends stdClass      {          var $v1;          function ccs(){              $this->v1=1;          }      };      $ee= new ccs();      $ee->v2=2;

    上面的代码不会出错。这带来了很大的方便性,当然,也有一定的不安全因素。
    另外,这个功能也解决了我长期以来的一个疑惑,就是像mysql_fetch_object这样的函数是如何实现的。

    因为它是所有类的基类,我们不继承,验证下:


    class A{ public function set($name)      {  $this->name=$name;      }  } $obja=new A; $obja->set("hehe"); var_dump($obja);

    输出结果:


    object(A)#2 (1) { ["name"]=> string(4) "hehe" }

    答案正确。


    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表