2014-10-08 2 views
6

나는 이미 include_once이 해당 파일을 포함하여 true 또는 false을 반환한다는 것을 알고 있습니다. 나는 당신의 가치를 되찾고 그것을 인쇄하기 위해 a question on Stackoverflow about using require_once을 읽었습니다.PHP에서 require_once 함수의 반환 값을 가져올 수없는 이유는 무엇입니까?

문제는 제가 기존 프로젝트를 가지고 있고 그 파일 안에 배열을 반환한다는 것입니다.

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

내가 할 것은 :

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

인가가 데이터 내가있어 어떤 결과보고 require_once의 출력을 얻고 싶은,하지만 난 1 대신에 포함 array를 얻을 수 이 문제를 해결하려면?

+1

당신은 당신의 자신의 테스트를 실행해야하지만, 필요에서 돌아 오는 것은 이러한 한계 인 것 그것이 반환 배열을 지원하지 않으면 그것은 나를 놀라게하지 않을 것입니다 기능. 하지만 두려워하지 마라. 배열을 전역 변수에 집어 넣고 필요한 후에 가져온다. 이 경우 PHP의 모듈성이 부족합니다. – alexis

+0

@alexis는 GLOBAL을 사용하여 작동합니다. tnx – ALH

+0

@JohnConde 올바르지 않습니다. – Steve

답변

10

이는 해당 시점에 파일이 이미 포함되어 있음을 나타냅니다.

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 
관련 문제