PHP中的简单对象问题[新手]

use*_*988 3 php oop object

我知道你可以像这样创建一个数组:

$a = array();
Run Code Online (Sandbox Code Playgroud)

并向其添加新的名称值对,如下所示:

$a['test'] = 'my new value';
Run Code Online (Sandbox Code Playgroud)

甚至可以省略第一行,虽然做法不好!

我发现对象更容易阅读和理解,所以我所做的是获取名称值对的数组并将其转换为对象:

$a = (object)$a;
Run Code Online (Sandbox Code Playgroud)

因此我可以访问参数:

$a->test;
Run Code Online (Sandbox Code Playgroud)

创建一个数组开始的额外开销似乎很浪费,是否可以简单地创建一个对象,然后以某种方式添加名称值对,就像我对数组一样?

谢谢

Bol*_*ock 7

是的,这个stdClass课程就是为此而设计的.

$a = new stdClass;
$a->test = 'my new value';
Run Code Online (Sandbox Code Playgroud)

您可以将其视为类似于以下JavaScript代码:

var a = {};
a.test = 'my new value';
Run Code Online (Sandbox Code Playgroud)

实际上,如果您有一些以JSON形式接收数据的PHP代码,则在数据上运行会生成包含属性json_decode()stdClass对象.