til*_*lda 3 php arrays reference
什么是array_splice
在PHP中使用的正确方法?函数头清楚地说:
array_splice ( array &$input , int $offset...
所以它应该接受引用作为第一个参数.
但是,一条线
array_push(&$this->contextsIds, $contextId);
触发错误已弃用:已在...第132行中弃用了调用时间传递引用
如何返回对数组的引用?我有:
public function &getContextsIds() {
return is_array($this->contextsIds) ? $this->contextsIds : array();
}
Run Code Online (Sandbox Code Playgroud)
但它说注意:只应通过引用返回变量引用
该函数已被声明为引用(array &$input
); &
调用函数时你不需要再次使用它.只需将其称为:
array_push($this->contextsIds, $contextId);
Run Code Online (Sandbox Code Playgroud)正如消息所说,您应该只通过引用返回实际变量,而不仅仅是值.在您的示例中,有两个这样的实例:? :
运算符求值为一个值,并且array()
它本身也只是一个未绑定到任何变量的值.您应该只返回您的类成员,无论它是否为空:
return $this->contextIds;
Run Code Online (Sandbox Code Playgroud)