PHP函数返回未分配给变量

时间:2013-04-12 23:48:39

标签: php

我有一个可归结为这样的功能:

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来分配数组,没有运气。

我甚至不知道从哪里开始弄清楚发生了什么。

提前谢谢你。 :)

1 个答案:

答案 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()。没有隐藏魔法

所以我猜你的问题并不像你发布的问题那么简单,而且代码中还有其他错误。