Scope, 프로그래밍 개념 일반적으로 말해서 프로그램 코드에 사용되는 이름은 항상 유효하거나 사용 가능한 것은 아니며 이를 제한합니다. name is available은 이름의 범위입니다. 아래에서는 PHP 변수의 범위를 소개합니다.
추천 튜토리얼: php 소개 비디오 튜토리얼
#🎜🎜 # 간단히 말하면 범위에는 세 가지 유형이 있습니다.
로컬 범위 전역 범위 슈퍼 전역 범위#🎜 🎜# 변수에는 세 가지 유형이 있습니다.
지역 변수 전역 변수 슈퍼전역 변수
지역 범위 및 지역 변수# 🎜🎜# 은 함수 내의 범위이며, 정의된 변수는 지역 변수입니다(형식 매개변수도 포함하여 지역 변수입니다).
Static 변수: 특수 지역 변수
의미:
함수 내에서 정적 키워드를 사용 Modified 변수. 양식:function XXX( .... ){ static $s1 = 10; //此时,$s1就是静态变量 ...... }
정적 변수의 특성:
정적 지역 변수의 값은 사용되지 않습니다. 함수 호출이 완료되면 삭제되지만 영원히 유지됩니다.
비교:
비정적 지역 변수는 함수 호출이 끝나면 소멸됩니다!즉, 함수가 다시 호출되면 변수(값)를 계속 사용할 수 있습니다.
전역 범위와 전역 변수
함수의 외부 범위의 범위이며, 그 안에 정의된 변수는 전역 변수입니다. .
전역 변수는 해당 변수가 위치한 전역 범위에서만 직접 사용(액세스)할 수 있습니다.수퍼 전역 범위 및 슈퍼 전역 변수
로컬 범위와 전역 범위를 포함한 전체 범위입니다.
슈퍼전역 변수는 모든 범위에서 사용(액세스)할 수 있습니다. 실제로 $_GET, $_POST, $_REQUEST 등을 포함하여 제한된 수의 시스템 사전 정의 변수 10개만이 슈퍼 전역 변수입니다. 따라서 시스템에서 미리 정의한 변수를 총칭하여 슈퍼 전역 변수라고도 합니다.특수 슈퍼 전역 변수: $GLOBALS
또한 우리가 직접 정의한 모든 전역 변수를 저장하는 배열이기도 합니다.
각 전역변수의 변수명은 $GLOBALS 배열 단위입니다. 예: 전역 범위에서 다음 변수를 정의합니다.$v1 = 1; //这一行执行,就有了一个这个:$GLOBALS[‘v1’], 其值为1 $v2 = ‘abc’; //这一行执行,就有了一个这个:$GLOBALS[‘v2’], 其值为’abc’ $v3 = true; //这一行执行,就有了一个这个:$GLOBALS[‘v3’], 其值为true
$v1 = 10; //全局变量 function func1( ){ echo $GLOBALS[‘v1’]; //输出10; echo $v1; //报错:变量v1未定义 $s1 = $GLOBALS[‘v1’] * 5; //结果为50; $s2 = $v1 * 5; //报错:变量v1未定义 }
특수 키워드: global
기능:
로컬 범위에서 전역 변수와 동일한 이름을 가진 로컬 변수를 수정하는 데 사용됩니다. 이때 로컬 변수는 글로벌 변수의 값을 그대로 사용할 수도 있습니다. 사실 이는 변수 참조 관계와 유사합니다. 해당 기능은 $GLOBALS$a = 10; function sum(){ global $a ; //全局变量的引用的别名 $a++; $b = $a + 1; echo $b; } sum(); // 12 echo $a ; // 11
위 내용은 PHP 변수의 범위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!