* 세 가지 범위만 있습니다.
* 1. 전역: 함수 외부에서 생성되며 함수를 제외하고 현재 스크립트에서만 사용됩니다.
* 2. 로컬: 함수 내부에서 생성되고 함수 내에서만 사용됩니다.
* 3. 정적: 함수에 의해 내부적으로 생성되고 함수에서만 사용되며 함수가 실행된 후에도 해당 값이 손실되지 않습니다.
$siteName = 'PHP中文网'; //全局变量
//전역 변수는 자동으로 키-값 쌍이 됩니다. 전역 변수 배열, 키는 변수에 해당합니다
$GLOBALS['siteName']='PHP中文网'; //全局变量替代语法
* 함수: 스크립트 내 특정 함수가 포함된 코드 세그먼트로, 반복적으로 호출할 수 있습니다
* 1. 기본 구문:
* 1.1 함수 선언: function funcnName($ args){ #code... }
* 1.2 함수 표현식: $funcName = function ($ages){ #code...}
* 2. 호출:
* 2.1 이름으로 호출: funcName($args ) / $funcName($args )
* 2.2 자기 호출: 선언과 호출이 동시에 완료
* (function (args){ #code...})()
function hello() { global $siteName; //引用全局变量,使用全局变量数组,不必声明引入 $userName = 'Peter Zhu'; //局部变量 // return '欢迎来到'.$siteName.',我是:'.$userName; return '欢迎来到'.$GLOBALS['siteName'].',我是:'.$userName; } echo hello(); //函数调用 echo '<hr color="red">';
//정적 변수 필수이며 함수에서만 선언하고 사용할 수 있습니다
function myStatic() { static $num = 1; //$num++,先将$num值输出后再加1 return '第'.$num.'次输出'.$num++.'<br>'; } echo '第一次执行完成后$num值:'.myStatic().'<br>';
//첫 번째 실행이 완료된 후 $num 값은 2
echo '第一次执行完成后$num值:'.myStatic().'<br>';
//두 번째 실행이 완료된 후 $num 값은 3
echo '第一次执行完成后$num值:'.myStatic().'<br>';
//세 번째 실행이 완료된 후 $num 값은 4
echo '第一次执行完成后$num值:'.myStatic().'<br>';
* 슈퍼 전역 변수: $_SERVER, $_COOKIE, $_SESSION, $_GET, $_POST, $_REQUEST
* 1. 사전 정의되어 있습니다. 변수는 모두 배열이므로 그냥 사용하면 됩니다. 선언이 필요하지 않습니다.
* 2. 교차 범위, 전역 및 로컬(함수 내에서) 모두 직접 사용할 수 있습니다.
* 3. 교차 범위는 교차가 아닙니다. -script.글로벌을 포함한 소위 슈퍼 글로벌은 현재 스크립트 파일을 나타냅니다.
echo '<hr color="blue">';
//전역적으로 직접 참조 가능
echo '我的姓名是:'.$_GET['name'];
//함수 내에서도 직접 참조 가능
function sayName() { //超全局变量不需要使用关键字 global 进行声明 return '我的姓名是:'.$_GET['name']; }
//함수 호출
echo sayName();