PHP中的stdClass是什么?

PHP中的stdClass是什么?

请定义什么stdClass是。



哈士奇WWW
浏览 526回答 3
3回答

青春有我

stdClass是PHP的泛型空类,有点像Object在Java或object用Python(编辑:但实际上并没有用作通用基类;谢谢@Ciaran for&nbsp;指出这一点).它适用于匿名对象、动态属性等。考虑StdClass的一种简单方法是替代关联数组。参见下面的示例,该示例显示了如何json_decode()允许获取StdClass实例或关联数组。在这个例子中也没有显示,SoapClient::__soapCall返回StdClass实例。<?php//Example&nbsp;with&nbsp;StdClass$json&nbsp;=&nbsp;'{&nbsp;"foo":&nbsp;"bar",&nbsp;"number":&nbsp;42&nbsp;}';$stdInstance&nbsp;=&nbsp;json_decode($json);echo&nbsp;$stdInstance->foo&nbsp;.&nbsp; PHP_EOL;&nbsp;//"bar"echo&nbsp;$stdInstance->number&nbsp;.&nbsp;PHP_EOL;&nbsp;//42//Example&nbsp;with&nbsp;associative&nbsp;array$array&nbsp;=&nbsp;json_decode($json,&nbsp;true); echo&nbsp;$array['foo']&nbsp;.&nbsp;PHP_EOL;&nbsp;//"bar"echo&nbsp;$array['number']&nbsp;.&nbsp;PHP_EOL;&nbsp;//42看见PHP和StdClass中的动态特性想要更多的例子。

qq_花开花谢_0

stdClass只是在将其他类型转换为对象时使用的泛型“空”类。不管其他两个答案怎么说,stdClass是不PHP中对象的基类。可以很容易地证明这一点:class&nbsp;Foo{}$foo&nbsp;=&nbsp;new&nbsp;Foo();echo&nbsp;($foo&nbsp;instanceof&nbsp;stdClass)?'Y':'N';//&nbsp;outputs&nbsp;'N'我不相信PHP中有一个基本对象的概念

至尊宝的传说

stdClass是另一个很好的PHP特性。您可以创建一个匿名PHP类。让我们检查一个例子。$page=new&nbsp;stdClass();$page->name='Home';$page->status=1;现在,假设您有另一个类,它将使用页面对象初始化并在其基础上执行。<?phpclass&nbsp;PageShow&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;$currentpage; &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;__construct($pageobj) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->currentpage&nbsp;=&nbsp;$pageobj; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;show() &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$this->currentpage->name; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$state&nbsp;=&nbsp;($this->currentpage->status&nbsp;==&nbsp;1)&nbsp;?&nbsp;'Active'&nbsp;:&nbsp;'Inactive'; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'This&nbsp;is&nbsp;'&nbsp;.&nbsp;$state&nbsp;.&nbsp;'&nbsp;page'; &nbsp;&nbsp;&nbsp;&nbsp;}}现在,您必须使用Page对象创建一个新的PageShow对象。这里不需要为此编写一个新的类模板,您只需使用stdClass动态创建一个类。&nbsp;&nbsp;&nbsp;&nbsp;$pageview=new&nbsp;PageShow($page); &nbsp;&nbsp;&nbsp;&nbsp;$pageview->show();
打开App,查看更多内容
随时随地看视频慕课网APP