PHP 学习总结之变量
变量标识符
标识符即是变量的名称,PHP 中关于变量的标识符有以下规则:
由任意字母、数字、下划线组成,但不能以数字开头
严格区分大小写
为了科学规范标识符,主要有以下几种流行的命名方式:
1. 驼峰命名法
第一个单词以小写字母开始,之后每个单词的首字母大写(小驼峰法);或每一个单词的首字母都采用大写字母(大驼峰法,也称帕斯卡命名法)。
$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(布尔型)
、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.局部变量
在函数内部创建的变量,其作用域是从创建变量的语句开始到函数末尾。需要注意的是:如果函数内部的变量与外部的全局变量名称相同时,内部变量会覆盖外部变量。另外,在函数内部创建的静态变量是无法在函数外部使用的。
require
和include
不影响作用域,即如果这两个语句作用于函数内部,变量具有局部作用域;如果作用于函数外部,变量具有全局作用域。用关键字
global
声明变量,可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。
相关推荐:
以上就是PHP 学习总结之变量的详细内容,更多请关注其它相关文章!