>  기사  >  백엔드 개발  >  PHP 학습 요약 변수

PHP 학습 요약 변수

不言
不言원래의
2018-04-03 16:26:171488검색

이 글은 PHP 학습에서 변수에 대한 지식을 공유합니다. 도움이 필요한 친구는 이를 참고할 수 있습니다.

변수 식별자

식별자는 PHP에서 변수의 이름입니다. 규칙:

  • 문자, 숫자, 밑줄로 구성되지만 숫자로 시작할 수 없습니다.

  • 엄격하게 대소문자를 구분합니다.

식별자를 과학적으로 표준화하기 위해 주로 다음과 같은 널리 사용되는 명명 방법이 있습니다.

1. CamelCase

첫 번째 단어는 소문자로 시작하고 각 후속 단어의 첫 글자는 대문자로 표시되거나(작은 낙타 표기법) 각 단어의 첫 글자는 대문자로 표기됩니다(큰 낙타 표기법, 파스칼 명명법이라고도 함).

$myFirstName = 'jochen'; # 小驼峰法
$MyFirstName = 'jochen'; # 大驼峰法
2. 헝가리어 명명법

변수 이름 = 속성 + 유형 + 개체 설명.

$sMyFirstName = 'jochen';
3. 밑줄 명명법

모든 문자는 소문자이며 각 단어는 밑줄로 구분됩니다.

$my_first_name = 'jochen';

변수 할당

PHP는 변수에 값을 할당하는 두 가지 방법, 즉 값에 의한 할당과 참조에 의한 할당을 제공합니다.

가장 일반적으로 사용되는 것은 값별 할당입니다. 표현식의 값을 변수에 할당하면 원래 표현식 전체의 값이 대상 변수에 할당됩니다. 즉, 한 변수의 값이 다른 변수에 할당되면 한 변수의 값을 변경해도 다른 변수에는 영향을 미치지 않습니다.

참조 할당은 원래 변수의 내용에 대한 별칭입니다. C 언어의 포인터와 다르지만 변수의 값을 변경하면 원래 변수에도 영향을 미칩니다.

$foo = 'jochen'; # 传值赋值
$bar = &$foo;    # 引用赋值

$bar = 'coco';   # $foo、$bar 的值都为 coco

변수 유형

변수 유형은 변수에 저장할 수 있는 데이터 유형을 의미합니다. PHP 데이터 유형은 스칼라 데이터 유형, 복합 데이터 유형 및 특수 데이터 유형의 세 가지 유형으로 나눌 수 있습니다. PHP 스칼라 데이터 유형에는 boolean(Boolean), integer(integer), float(부동 소수점 유형, double이라고도 함), 가 포함됩니다. 문자열(string), 복합 데이터 유형에는 배열(array), 객체(object)callable(호출 가능)이 포함됩니다. 특수 데이터 유형 resource(리소스)NULL(유형 없음). boolean(布尔型)integer(整型)float(浮点型,也称作 double)string(字符串),复合数据类型有 array(数组)object(对象)callable(可调用),特殊数据类型 resource(资源)NULL(无类型)

PHP 是一种弱类型语言,变量在使用之前并不需要声明类型,且同一变量可以保存多种不同类型的数据。有时,为了判断当前变量的数据类型,我们可以使用以下方法进行判断:

gettype()                 — 获取变量的类型
is_int() 或 is_integer()  — 检测变量是否是整数
is_numeric()              — 检测变量是否为数字或数字字符串
is_float() 或 is_double() — 检测变量是否是浮点型
is_string()               — 检测变量是否是字符串
is_bool()                 — 检测变量是否是布尔型 
is_array()                — 检测变量是否是数组
is_object()               — 检测变量是否是一个对象
is_null()                 — 检测变量是否为 NULL 
is_resource()             — 检测变量是否为资源类型

有时,我们需要强制将某个变量当作某种类型来求值,就要进行类型强制转换:

(int) 或 (integer)  — 转换为整形
(bool) 或 (boolean) — 转换为布尔类型
(float) 或 (double) — 转换为浮点型
(string)            — 转换为字符串
(array)             — 转换为数组
(object)            — 转换为对象
(unset)             — 转换为 NULL

变量作用域

1.超全局变量

由 PHP 预定义的,且在任何脚本的任何作用域中始终可用的一种变量。超全局变量包括:

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $_FILES

  • $_ENV

  • $_COOKIE

  • $_SESSION

其中 $GLOBALS 是一个包含了所有全局变量的关联数组,变量的名字就是数组的 key,变量的值就是数组的 value

2.全局变量

在函数外部创建的变量, for 语句 、while 语句、foreach 语句中创建的变量也属于全局变量,其作用域是从创建变量的语句开始到文件的末尾,但在函数内部不可见。需要注意的是:常量一旦被创建,将在全局中可见,同时在函数内部也是可见的。

3.局部变量

在函数内部创建的变量,其作用域是从创建变量的语句开始到函数末尾。需要注意的是:如果函数内部的变量与外部的全局变量名称相同时,内部变量会覆盖外部变量。另外,在函数内部创建的静态变量是无法在函数外部使用的。

requireinclude 不影响作用域,即如果这两个语句作用于函数内部,变量具有局部作用域;如果作用于函数外部,变量具有全局作用域。

用关键字 global

PHP는 약한 유형의 언어입니다. 변수는 사용하기 전에 유형을 선언할 필요가 없으며 동일한 변수가 여러 다른 유형의 데이터를 저장할 수 있습니다. 때로는 현재 변수의 데이터 유형을 결정하기 위해 다음 방법을 사용하여 결정할 수 있습니다.
rrreee

때로는 변수가 특정 유형으로 평가되도록 강제해야 하며 유형 캐스팅을 수행해야 합니다.

rrreee

변수 범위1. 슈퍼전역 변수

PHP에서 미리 정의한 변수이며 모든 스크립트의 모든 범위에서 항상 사용할 수 있습니다. 초전역 변수에는 다음이 포함됩니다:

🎜🎜$GLOBALS🎜🎜🎜🎜$_SERVER🎜🎜🎜🎜$_REQUEST🎜🎜🎜🎜 $_POST🎜🎜🎜🎜$_GET🎜🎜🎜🎜$_FILES🎜🎜🎜🎜$_ENV🎜🎜🎜🎜 $_COOKIE🎜🎜🎜🎜$_SESSION🎜🎜🎜🎜여기서 $GLOBALS는 모든 전역 변수를 포함하는 연관 배열이며, 변수 이름은 은 배열의 이고 변수의 값은 배열의 입니다. 🎜🎜2. 전역 변수🎜🎜함수 외부에서 생성된 변수, for 문, while 문, foreach 문에서 생성된 변수도 속합니다. 전역 변수는 변수를 생성하는 명령문부터 파일 끝까지의 범위를 가지지만 함수 내부에는 표시되지 않습니다. 일단 상수가 생성되면 전역적으로 표시되고 함수 내에서도 표시된다는 점에 유의해야 합니다. 🎜🎜3. 지역 변수🎜🎜함수 내부에 생성된 변수, 해당 범위는 변수를 생성하는 문부터 함수 끝까지입니다. 함수 내부 변수의 이름이 외부 전역 변수와 동일한 경우 내부 변수가 외부 변수를 덮어쓰게 된다는 점에 유의해야 합니다. 또한 함수 내부에서 생성된 정적 변수는 함수 외부에서 사용할 수 없습니다. 🎜
requireinclude는 범위에 영향을 주지 않습니다. 즉, 이 두 문이 함수 내부에서 작동하는 경우 변수는 함수 외부에서 작동하는 경우 로컬 범위를 갖습니다. 함수, 변수에는 전역 범위가 있습니다. 🎜global 키워드로 변수를 선언하면 함수에 정의되거나 사용되는 변수가 전역 범위를 갖도록 수동으로 지정할 수 있습니다. 🎜🎜🎜관련 권장 사항: 🎜🎜🎜PHP 학습 요약 문자열🎜🎜🎜🎜🎜

위 내용은 PHP 학습 요약 변수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:ApiDoc 사용다음 기사:ApiDoc 사용