首页
学习
活动
专区
圈层
工具
发布

pass数组
EN

Stack Overflow用户
提问于 2010-12-12 16:05:54
回答 2查看 9.9K关注 0票数 3
  1. 在PHP中使用array_splice的正确方法是什么?函数头清楚地写着:

array_splice ( array &$input , int $offset...,所以它应该接受引用作为第一个参数。

然而,一条线

array_push(&$this->contextsIds, $contextId);

触发不推荐的错误:在.行132

  • How,我是否返回对数组的引用?我有:

公共函数&getContextsIds() {返回is_array( $this->contextsIds )?$this->contextsIds: array();}

但是它说要注意: reference只应该返回变量引用

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-12 16:07:52

  1. 函数已经声明为接受引用(array &$input);在调用函数时不再需要&。就这样说吧:

$contextId);

  • As ($array_push->contextsIds)消息说,您应该只通过引用返回实际变量,而不仅仅是返回值。在您的示例中,有两个这样的实例:? :运算符计算为值,而array()本身只是一个不绑定到任何变量的值。您可能应该返回类成员,而不管它是否为空:

返回$this->contextIds;

票数 7
EN

Stack Overflow用户

发布于 2010-12-12 16:13:55

为什么要返回对数组的引用,特别是在您提供的代码中:

代码语言:javascript
复制
public function &getContextsIds() {
    return is_array($this->contextsIds) ? $this->contextsIds : array();    
}

当这个函数工作时,它可以返回一个对空数组的引用,我可以用它做我想做的事情,并任意修改它,但是它不会有任何效果,因为它只是一个空数组,根本没有进一步的引用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4422523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档