function myfunc()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
return $a;
}
你怎么做,所以,当你调用$a = myfunc();
你可以使用echo $a->foo;
,它会输出bar
?如何在PHP中将数组作为对象返回?
附加问题:上面有这个简单的函数,返回一个数组或对象是更好吗?
function myfunc()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
return $a;
}
你怎么做,所以,当你调用$a = myfunc();
你可以使用echo $a->foo;
,它会输出bar
?如何在PHP中将数组作为对象返回?
附加问题:上面有这个简单的函数,返回一个数组或对象是更好吗?
只是将它作为一个对象进行投射。
function myfunc()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
return (object)$a;
}
至于你想要哪一个,取决于你。这取决于你对返回的对象或数组做什么。
如果您返回一个数组,您必须以$a['foo']
的身份访问该成员。 ->
确实是一个操作符。要使用这个,你需要创建一个对象而不是数组,但是这意味着你必须先定义一个类。这也意味着两个成员foo
和baz
必须存在于这样的对象的实例全部实例。所以这是完全不同的事情。
1,我会做这样的:
function myfunc()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
$array = new ArrayObject($a);
return $array;
}
ArrayObject支持形式的PHP版本5
2-并不重要,如果你返回数组或对象,其自己的决定
“更好”是主观的。更好的目的是什么? – deceze
@deceze我想我的问题是在相同的比较中使用系统资源的效率更高,单引号比双引号更快。 – IMB
@IMB:看看这个:http://www.phpbench.com/ –