为了账号安全,请及时绑定邮箱和手机立即绑定

PHP中的stdClass是什么?

PHP中的stdClass是什么?

PHP
哈士奇WWW 2019-06-14 16:09:54
PHP中的stdClass是什么?请定义什么stdClass是。
查看完整描述

3 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

stdClass是PHP的泛型空类,有点像Object在Java或object用Python(编辑:但实际上并没有用作通用基类;谢谢@Ciaran for 指出这一点).

它适用于匿名对象、动态属性等。

考虑StdClass的一种简单方法是替代关联数组。参见下面的示例,该示例显示了如何json_decode()允许获取StdClass实例或关联数组。在这个例子中也没有显示,SoapClient::__soapCall返回StdClass实例。

<?php//Example with StdClass$json = '{ "foo": "bar", "number": 42 }';$stdInstance = json_decode($json);echo $stdInstance->foo . 
PHP_EOL; //"bar"echo $stdInstance->number . PHP_EOL; //42//Example with associative array$array = json_decode($json, true);
echo $array['foo'] . PHP_EOL; //"bar"echo $array['number'] . PHP_EOL; //42

看见PHP和StdClass中的动态特性想要更多的例子。


查看完整回答
反对 回复 2019-06-14
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

stdClass只是在将其他类型转换为对象时使用的泛型“空”类。不管其他两个答案怎么说,stdClassPHP中对象的基类。可以很容易地证明这一点:

class Foo{}$foo = new Foo();echo ($foo instanceof stdClass)?'Y':'N';// outputs 'N'

我不相信PHP中有一个基本对象的概念


查看完整回答
反对 回复 2019-06-14
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

stdClass是另一个很好的PHP特性。您可以创建一个匿名PHP类。让我们检查一个例子。

$page=new stdClass();$page->name='Home';$page->status=1;

现在,假设您有另一个类,它将使用页面对象初始化并在其基础上执行。

<?phpclass PageShow {

    public $currentpage;

    public function __construct($pageobj)
    {
        $this->currentpage = $pageobj;
    }

    public function show()
    {
        echo $this->currentpage->name;
        $state = ($this->currentpage->status == 1) ? 'Active' : 'Inactive';
        echo 'This is ' . $state . ' page';
    }}

现在,您必须使用Page对象创建一个新的PageShow对象。

这里不需要为此编写一个新的类模板,您只需使用stdClass动态创建一个类。

    $pageview=new PageShow($page);
    $pageview->show();


查看完整回答
反对 回复 2019-06-14
  • 3 回答
  • 0 关注
  • 525 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信