$opid=$_GET['opid'];
include("etc.php");
등 .php;
function getTierOne() { ... }
함수 전후에 $ opid 변수를 사용할 수는 있지만 함수에서 사용할 수는 없지만 정의되지 않은 값을 반환합니다. 포함 된 파일의 기능과 함께 사용하려면 어떻게해야합니까?
$opid=$_GET['opid'];
include("etc.php");
등 .php;
function getTierOne() { ... }
함수 전후에 $ opid 변수를 사용할 수는 있지만 함수에서 사용할 수는 없지만 정의되지 않은 값을 반환합니다. 포함 된 파일의 기능과 함께 사용하려면 어떻게해야합니까?
그 함수가 로컬 영역을 가지고 있기 때문이다. 함수 내에서 정의 된 변수 만 볼 수 있습니다. 함수 외부에 정의 된 변수는 함수로만 가져 오거나 전역으로 사용할 수 있습니다.
$someVariable = 'someValue';
function getText(){
global $someVariable;
echo $someVariable;
return;
}
getText();
그러나, 나는이 방법에 대해 조언을 것 :
중 하나가 글로벌 키워드입니다,이 작업을 수행하는 방법은 여러 가지가 있습니다. $someVariable
을 다른 이름으로 변경하면 어떻게됩니까? 가져온 각 함수로 이동하여 변경해야합니다. 별로 역동적이지 않습니다.
다른 방법이 될 것이다 :
$someVariable = 'someValue';
function getText($paramater1){
return $parameter1;
}
echo getText($someVariable);
이 더 논리적 및 조직이다. 변수를 함수에 인수로 전달하는 것은 각 함수 내에서 global 키워드를 사용하는 것보다 낫습니다.
POST, REQUEST, SESSION 및 COOKIE 변수는 모두 슈퍼 전역입니다. 이것은 그들이 암시 적으로 가져올 필요없이 기능 내에서 사용할 수 있습니다 의미 :
// Assume the value of $_POST['someText'] is someValue
function getText(){
$someText = $_POST['someText'];
return $someText;
}
echo getText(); // Outputs someValue
의 beginnig있다. 포함 된 파일에는 5 가지 기능이 있습니다. – milesh
각 변수에서 변수를 가져 오기 위해'global' 키워드를 사용해야하기 때문에. 예를 들면 :'function testFunctionOne() {global $ someVariable; }''function testFunctionTwo() {global $ someVariable; }'보시다시피, 각 함수에 대해 global 키워드를 사용하는 것은 실제로 실용적이지 않습니다. 이것을 확인하십시오 : http://stackoverflow.com/questions/1557787/are-global-variables-in-php-considered- 나쁜 연습 - 그렇다면 - 왜? –
function getTierOne()
{
global $opid;
//...
}
$getTierOne = function() use ($opid) {
var_dump($opid);
};
'전역의 $ OPID,'처음 기능에 있지만 다른 작동 opid''글로벌 $와 기능 – k102