我知道你可以像这样创建一个数组:
$a = array();
并将新的名称值对添加到其中:
$a['test'] = 'my new value';
甚至可以省略第一行,虽然做法不好!
我发现对象更容易阅读和理解,所以我所做的就是获取名称值对的数组并将其转换为对象:
$a = (object)$a;
因此我可以访问参数:
$a->test;
创建一个数组开始的额外开销似乎很浪费,是否可以简单地创建一个对象然后以某种方式添加名称值对,就像我对数组一样?
由于
答案 0 :(得分:7)
是的,stdClass
课程就是为此而设计的。
$a = new stdClass;
$a->test = 'my new value';
您可以将其视为类似于以下JavaScript代码:
var a = {};
a.test = 'my new value';
事实上,如果你有一些以JSON形式接收数据的PHP代码,那么在数据上运行json_decode()
会产生一个包含属性的stdClass
对象。
答案 1 :(得分:4)
您可以使用stdClass
对象:
$a = new stdClass();
答案 2 :(得分:1)
即使没有stdclass也很简单。你可以简单地做
class obj{}
$obj = new obj;
$obj->foo = 'bar';
答案 3 :(得分:0)
您可以使用 stdClass 。
$object = new StdClass;
$object->foo = 'bar';