Почему я не могу получить возвращаемое значение функции require once в PHP?

Я уже знаю, что include_once вернутся true или false на основе включения этого файла. Я читал вопрос о Stackoverflow об использовании require_once чтобы вернуть значение и распечатать его.

проблема в том, что у меня есть существующий проект в руках, и внутри этого файла они возвращают массив. Я хочу получить результат require_once чтобы увидеть, какой результат у меня есть, но я получаю 1 вместо array, который содержит сведения:

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

Что Я do is:

$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