> 헤드라인 > PHP 변수 범위

PHP 변수 범위

无忌哥哥
풀어 주다: 2018-06-28 09:18:24
원래의
2565명이 탐색했습니다.

* 세 가지 범위만 있습니다.

* 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 &#39;<hr color="red">&#39;;
로그인 후 복사

//정적 변수 필수이며 함수에서만 선언하고 사용할 수 있습니다


function myStatic()
{
  static $num = 1;
  //$num++,先将$num值输出后再加1
  return &#39;第&#39;.$num.&#39;次输出&#39;.$num++.&#39;<br>&#39;;
}
echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
로그인 후 복사

//첫 번째 실행이 완료된 후 $num 값은 2

echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
로그인 후 복사
로그인 후 복사
로그인 후 복사

//두 번째 실행이 완료된 후 $num 값은 3

echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
로그인 후 복사
로그인 후 복사
로그인 후 복사

//세 번째 실행이 완료된 후 $num 값은 4

echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
로그인 후 복사
로그인 후 복사
로그인 후 복사

* 슈퍼 전역 변수: $_SERVER, $_COOKIE, $_SESSION, $_GET, $_POST, $_REQUEST

* 1. 사전 정의되어 있습니다. 변수는 모두 배열이므로 그냥 사용하면 됩니다. 선언이 필요하지 않습니다.

* 2. 교차 범위, 전역 및 로컬(함수 내에서) 모두 직접 사용할 수 있습니다.

* 3. 교차 범위는 교차가 아닙니다. -script.글로벌을 포함한 소위 슈퍼 글로벌은 현재 스크립트 파일을 나타냅니다.

echo &#39;<hr color="blue">&#39;;
로그인 후 복사

//전역적으로 직접 참조 가능

echo &#39;我的姓名是:&#39;.$_GET[&#39;name&#39;];
로그인 후 복사

//함수 내에서도 직접 참조 가능

function sayName()
{
  //超全局变量不需要使用关键字 global 进行声明
  return &#39;我的姓名是:&#39;.$_GET[&#39;name&#39;];
}
로그인 후 복사

//함수 호출

echo sayName();
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿