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

я уже знаю, что include_once вернется true или же false основанный на включении этого файла. я прочел вопрос по Stackoverflow об использовании 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);

Есть ли обходной путь для этого?

8

Решение

Это указывает на то, что файл уже был включен в этот момент.

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
14

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector