2016-08-12 4 views
1

반환 실행할 수 없습니다 ? 여기 예를 것입니다 ...하지만 무엇을 모르는기능 내가이 syntaxe있는 기능이 변수 PHP

+0

당신이 무슨 말을하는 (PHP7에서)

$res = $variable(); // res stores an inner function $res(); 

또는? 이해할 수 없다. –

+0

당신이 말하는 내부 또는 외부 기능입니까? –

+2

내부 함수를 호출하지 마십시오 ... –

답변

5

:이 기능은 반환하고 에코 사용하여 호출은 아무것도하지 않는

$a = function() { 
    return function() { 
     return 1; 
    }; 
}; 
$b = $a(); 
echo $b(); 
+7

또는 PHP7'$ b = $ a()()'. –

+0

오, 고마워. 더 쉽고 짧습니다. –

+0

고마워요! ^^ –

0

:

echo $variable(); 

명확성을 위해 별도의 기능을 제안하는 것이 좋습니다.

$variable = doSomething(); 

function doeSomething(){ 
    //code 
} 
+0

감사합니다, 슬프게도 나는 $ variable =/ –

0

새로운 변수로 assing없이이 작업을 수행 할 수 있습니다하십시오 $variable 반환 다른 기능 (내부 기능)에 저장

call_user_func($variable());

3

귀하의 익명 함수 (외부 기능).

$variable()을 호출하면 외부 함수가 내부 함수를 반환한다는 것을 의미합니다. - 이 아니며 이 아닙니다. 그러나 외부 함수의 결과를 변수에 할당하지 않으면 내부 함수가 아무 곳에도 저장되지 않습니다.

그래서,이 솔루션은 다음과 같습니다

$variable()(); 
+0

코드를 편집 할 수 없습니다! ^^ –