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

标签 php return require-once

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

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

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

我做的是:

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

有解决办法吗?

最佳答案

这表示该文件此时已包含在内。

如果文件已经包含,require_once 将返回 bool 值 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

关于php - 为什么我无法在 PHP 中获取 require_once 函数的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257846/

相关文章:

php - 仅当激活经典编辑器时如何禁用 gutemberg css?

php - 新(Json)响应显示空白页(Symfony HttpFoundation)

php - 将多个表中的数据插入到一个单独的表中

php - 在 php 中, "return false"在 echo 语句之后有什么作用吗?

Python语法错误: ("' return' with argument inside generator",)

php - 如何调整 PHP 真实路径缓存?

PHP 无法找到文件,即使它存在

java - 当 HashMap 值第一次出现时,我怎么会出现 'break' 呢?

php - require_once 与子文件夹

javascript - PHP require_once().js 文件