function myfunc ()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
return $a;
}
你是如何做到的,这样当你打电话时$a = myfunc();
你可以使用echo $a->foo;
它并且它会输出bar
?
附加问题:有了上面那个简单的函数,返回数组还是对象更好?
function myfunc ()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
return $a;
}
你是如何做到的,这样当你打电话时$a = myfunc();
你可以使用echo $a->foo;
它并且它会输出bar
?
附加问题:有了上面那个简单的函数,返回数组还是对象更好?
只需将其转换为对象即可。
function myfunc ()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
return (object)$a;
}
至于你要哪一个,就看你自己了。这取决于您对返回的对象或数组所做的事情。
1-我会这样做:
function myfunc ()
{
$a['foo'] = 'bar';
$a['baz'] = 'qux';
$array = new ArrayObject($a);
return $array;
}
ArrayObject从 php 版本 5 得到支持
2-如果您返回数组或对象并不重要,这是您的决定
如果您返回一个数组,则必须以$a['foo']
. ->
确实是一个oop运算符。要使用它,您需要创建一个对象而不是数组,但这意味着您必须首先定义一个类。这再次意味着这两个成员foo
必须baz
存在于此类对象的所有实例中。所以这是完全不同的事情。