$_POST
-array은 PHP의 다른 모든 배열 (이른바 superglobal이 외에도)과 같은 배열이므로 함수 매개 변수로 전달하고, 전달하고 심지어 변경합니다 (현명한 방법이 아니더라도). 대부분의 경우).
코드에 대해서는, 나는 그것이 더 명확하게 그것을 약간 수정 한 것 :
PostInfo($_POST);
function PostInfo($postVars)
{
$item1 = $postVars[0];
$item2 = $postVars[1];
$item3 = $postVars[2];
//do something
return $result;
}
이 눈에 띄게 $_POST
자동 전역에서 함수 인수를 분리합니다. 또 다른 옵션은 함수 인수를 간단히 제거하고 $_POST
의 슈퍼 글로벌 기능에 의존하는 것입니다.
PostInfo();
function PostInfo()
{
$item1 = $_POST[0];
$item2 = $_POST[1];
$item3 = $_POST[2];
//do something
return $result;
}
이들은 모두 글로벌 변수입니다. register_global이 켜져 있으면 모든 함수에서이를 볼 수 있습니다. – Aif
'register_globalals가 아닌'register_globals'는'$ HTTP_POST_VARS' (non-superglobal과'$ _POST'에 반대되는 형제)를 사용할 필요가 없습니다! 여기를 참고하십시오 : http://de.php.net/manual/en/ini.core.php#ini.register-globals –
맞아요, 그건 내 다른 추측이었습니다. 정확하게 기억할 수는 없지만 Aif가 잘못되었다는 것을 알았습니다. 여하튼,'register_globals'은 ** bad **입니다! 그 너머, 그것은 비추천입니다. 그것을 사용하지 마십시오! –