我有一个可归结为这样的功能:
function do_something_cool() {
return array(
'key1' => 'value1',
'key2' => 'value2',
);
}
然后,在文件的后面,这四行:
$var1 = array();
$var1 = do_something_cool();
print_r(do_something_cool());
print_r($var1);
该函数返回的数组仅在我直接打印返回时打印,打印变量结果为空数组。
我也尝试使用array_merge来分配数组,没有运气。
我甚至不知道从哪里开始弄清楚发生了什么。
提前谢谢你。 :)
答案 0 :(得分:2)
执行示例,就像您发布它一样简单,它将起作用:
function do_something_cool() {
return array(
'key1' => 'value1',
'key2' => 'value2',
);
}
$var1 = array();
$var1 = do_something_cool();
print_r(do_something_cool());
print_r($var1);
输出(如预期):
Array
(
[key1] => value1
[key2] => value2
)
Array
(
[key1] => value1
[key2] => value2
)
那是因为
$var1 = do_something_cool();
只会使用$var1
的返回值覆盖do_something_cool()
。没有隐藏魔法。
所以我猜你的问题并不像你发布的问题那么简单,而且代码中还有其他错误。