PHP函数返回未赋值的变量


PHP function return not assigned to variable

我有一个函数,可以归结为这样:

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

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

提前谢谢你。:)

执行示例,就像您发布的那样简单,它将运行:

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();

将用do_something_cool()的返回值覆盖$var1。没有隐藏的魔法

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