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

2022-08-30 21:03:09

我已经知道这将返回或基于包含该文件。我在Stackoverflow上读到一个关于使用require_once返回你的值并将其打印出来的问题。include_oncetruefalse

问题是我手头有一个现有的项目,在该文件中,它们返回一个数组。我想获取的输出以查看我得到的结果,但我得到1而不是包含数据的结果:require_oncearray

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

我所做的是:

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

有什么解决方法吗?


答案 1

这表明该文件在那时已被包括在内。

如果文件已被包含,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

答案 2

推荐