array_splice的正确方法是什么?函数头清楚地写着:array_splice ( array &$input , int $offset...,所以它应该接受引用作为第一个参数。
然而,一条线
array_push(&$this->contextsIds, $contextId);
触发不推荐的错误:在.行132
公共函数&getContextsIds() {返回is_array( $this->contextsIds )?$this->contextsIds: array();}
但是它说要注意: reference只应该返回变量引用
发布于 2010-12-12 16:07:52
array &$input);在调用函数时不再需要&。就这样说吧:$contextId);
? :运算符计算为值,而array()本身只是一个不绑定到任何变量的值。您可能应该返回类成员,而不管它是否为空:返回$this->contextIds;
发布于 2010-12-12 16:13:55
为什么要返回对数组的引用,特别是在您提供的代码中:
public function &getContextsIds() {
return is_array($this->contextsIds) ? $this->contextsIds : array();
}当这个函数工作时,它可以返回一个对空数组的引用,我可以用它做我想做的事情,并任意修改它,但是它不会有任何效果,因为它只是一个空数组,根本没有进一步的引用。
https://stackoverflow.com/questions/4422523
复制相似问题