操纵参数我与PHP相对缺乏经验,我试图做一些改变现有的代码库。我有带有一个数组为参数的方法,包括:在PHP
public function get_ids(array $order)
{
...
return $ret_val;
}
欲附加的元素添加到该阵列中,与键count
配对。我知道那个钥匙不存在。我从PHP文档中了解到,所有变量都是通过引用传递的:
函数定义本身足以通过引用正确传递参数 。由于PHP 5.3.0,你会得到一个警告说, “呼叫时间传递通过引用”已经过时,当你在 FOO使用&(& $ A);.而作为PHP 5.4.0中,呼叫时间 取出传递通过引用,所以使用它会引发一个致命错误。
然而,当我这样做:
public function get_ids(array $order)
{
...
$order['count'] = 5;
return $ret_val;
}
,然后做在调用这个方法的方法var_dump
,有一个为“计数”没有钥匙。但是,如果我的get_ids
方法返回之前做一个var_dump
右边,有明确是为count
的关键。
这是怎么回事?我显然不理解PHP的一位负责人,但我平时的谷歌搜索技巧完全失败了。
这报价是当你调用* *的功能,而不是当你是* *定义功能。如果这是预期的行为,您仍然应该将函数定义为通过引用接受其参数。 – nickb 2013-04-07 02:35:20
@nickb OHHHHHH。是的。完全了解现在的情况。我认为他们的意思是“简单地定义函数意味着它将通过引用传递”。显然不是。谢谢! – 2013-04-07 02:51:14