어떤 이유로이 함수는 ciao
값을 반환하지 않습니다.함수가 값을 반환하지 않습니다.
$a = "ciao";
function a() {
return $a;
}
왜 그런지 모르겠습니다.
어떤 이유로이 함수는 ciao
값을 반환하지 않습니다.함수가 값을 반환하지 않습니다.
$a = "ciao";
function a() {
return $a;
}
왜 그런지 모르겠습니다.
기능은, 로컬 공간에서 호출 범위 그들이 가지고있는 변수를 반환 할 수 있습니다
$a = "ciao";
function a() {
$a = 'hello`;
return $a;
}
이 hello
을 반환을, a()
내에 있기 때문에 $a
은 자신의 변수입니다. 당신은 함수 내에서 변수를해야하는 경우, 매개 변수로 전달합니다
$a = "ciao";
function a($a) {
return $a;
}
echo a($a); # "ciao"
을 BTW, 당신은 NOTICES to be reported (error_reporting(-1);
)를 활성화하면, PHP는 원래 코드에서 return $a
가 정의되지 않은 변수를 사용하는 것을 알 수 준 것이다.
PHP에서 함수는 전역 변수에 액세스 할 수 없습니다. 함수 본문에 global $a
을 사용하거나 매개 변수로 $ a 값을 전달하십시오.
'global'을 사용하지 말고 대신 함수 매개 변수를 사용하도록 제안하십시오. – hakre
$a
은 기능 범위 내에 있지 않습니다.
PHP는 JS가 작동하는 블록 범위와 같은 클로저와 작동하지 않습니다. 함수에서 외부 변수에 액세스하려면 합리적인 값으로 전달해야합니다 (예 : global
) 눈살을 찌푸리게됩니다.
$a = "ciao";
function a() {
global $a;
return $a;
}
또는 PHP5.3에 폐쇄 스타일
+function a() use ($a) {
return $a;
}
http://php.net/manual/en/language.variables.scope.php를 읽으십시오. 그것은 바로 위에 설명되어 있습니다. – Tomalak