-5

我有一个函数可以归结为这样的东西:

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

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

先感谢您。:)

4

1 回答 1

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

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

于 2013-04-12T23:52:07.507 回答