为什么我无法在PHP中获取require_once函数的返回值?

时间:2014-10-08 13:14:41

标签: php return require-once

我已经知道include_once会根据包含该文件返回truefalse。我已阅读a question on Stackoverflow about using require_once以返回您的值并将其打印出来。

问题在于我手头有一个现有项目,并且在该文件内部返回一个数组。我想得到require_once的输出以查看我得到的结果,但我得到的是1而不是包含数据的array

return array('data'=>$result_data,'error'=>null);

我的工作是:

$ret = require_once $this->app->config('eshopBaseDir')."fax/archive.php";
print_r($ret);

有没有解决方法呢?

1 个答案:

答案 0 :(得分:16)

这表明此时已包含该文件。

如果文件已被包含,require_once将返回布尔值true。

要检查您是否可以更改为只需要:

$ret = require $this->app->config('eshopBaseDir')."fax/archive.php";
print_r($ret);

作为一个简单的证明:

//test.php

return array('this'=>'works the first time');

//index.php

$ret = require_once 'test.php';
var_dump($ret);//array
$ret2 = require_once 'test.php';
var_dump($ret2);//bool true