一、变量与常量
在程序运行时,变量(variable)是可以在不同时刻存储不同数据的符号,常量(constant)是存储不会改变的数据的符号。
变量
PHP变量是由$标志的变量名来表示的,变量总是以美元符号$开头,然后是变量名。自定义变量可以根据用户的要求自行定义,变量名区分大小写。
变量名遵循标识符的命名规则,变量名可以以字母或下划线开头,可由字母、下划线、数字或从127~255的其他ASCII字符组成。
PHP不要显示声明变量,变量的声明可以与赋值同时进行。但是通常建议将声明和赋值的操作分开,先声明,并注释,后赋值。
变量赋值有两种方式,按值赋值和引用赋值。
按值赋值就是直接将赋值表达式的值复制到变量,例如:
$color = “red”;
$num = 123.456;
引用赋值是从PHP4版本中引入的一种赋值方式。在引用赋值时,创建的变量可以与另一个变量引用的内容相同,因此,如果多个变量引用里同一个内容,修改其中任意一个变量,在其余的变量上都将被修改。
在赋值符号后面加一个&就可以进行引用赋值,例如:
$value1 = “Hello World”;
$value2 =& $value1;
$value2 = “Goodbye World”;
将&符号放在引用变量的前面也可以进行引用赋值,例如:
$value1 = “Hello World”;
$value2 = &$value1;
$value2 = “Goodbye World”;
变量的作用域
变量的作用域是指变量的作用范围。一个变量被声明之后,其作用范围就确定了。
PHP的作用域有4种,即局部变量、函数参数、全局变量和静态变量。
局部变量
在函数中声明的变量就是局部变量,它只在当前函数内有效,当函数执行完毕,该变量就会被撤销。
函数参数
任何接受参数的函数都必须在函数首部声明这些参数,虽然这些参数接受函数外部的值,但函数执行完毕后就无法再访问这些参数。
全局变量
全局变量可以在PHP程序中的任意地方访问。声明全局变量需要使用关键字global。
静态变量
如果在函数中声明变量时使用关键字static,则表示该变量为静态变量。静态变量是一种特殊的局部变量,在函数执行完毕后,静态变量不会被撤销。
PHP的预定义变量
预定义变量时指由预定义变量是指由PHP预设的一些数组,包含运行环境、用户输入数据等信息。因其作用范围全局有效,所以又称为超全局变量或自动全局变量。
常用的预定义变量有:
$GLOBALS:引用全局作用域中可用的全部变量
$_SERVER:服务器和执行环境信息
$_GET:HTTP GET 变量
$_POST:HTTP POST 变量
$_FILES:HTTP 文件上传变量
$_REQUEST:HTTP Request 变量
$_SESSION:Session 变量
$_ENV:环境变量
$_COOKIE:HTTP Cookies
特殊的变量 –可变变量
在不确定一个变量的名称时,可以使用可变变量。可变变量是指一个变的变量名可以被动态的改变。
常量
常量是指在程序执行中不会改变的值。按照惯例,常量名一般都采用全大写。常量的作用域为全局。
常量可分为自定义常量和预定义常量。
自定义常量常用define( )函数定义,语法:
define(“常量名”,”常量值”)
也可以使用const关键字在类之外定义常量,语法:
const 常量名=常量值;
补充:defined(“常量名”)可以用于检查常量是否存在,返回值为布尔值,如果常量存在,返回TRUE,反之返回FALSE。
预定义常量,也称为魔术变量。在PHP中可以直接使用,常量名前不需要使用$,并且不区分大小写。
二、运算符与表达式
算数预算符
包括加(+)、减(-)、乘(*)、除(/)、取模(%)、取反(-)。
赋值运算符
包括(=),以及复合赋值运算符(+=)、(-=)、(*=)、(/=)、(.=)等。
位运算符
包括(&)、(|)、(^)、(~)、(<>)。
比较运算符
比较运算符
名 称
例 子
结 果
==
等于
$a == $b
TRUE,如果$a等于$b
===
全等
$a === $b
TRUE,如果$a等于$b,并且它们的类型也相同
!=
不等
$a != $b
TRUE,如果$a不等于$b
<>
不等
$a <> $b
TRUE,如果$a不等于$b
!==
非全等
$a !== $b
TRUE,如果$a不等于$b,或者它们的类型不同
<
小与
$a < $b
TRUE,如果$a严格小于$b
>
大于
$a > $b
TRUE,如果$a严格大于$b
<=
小于等于
$a <= $b
TRUE,如果$a小于或等于$b
>=
大于等于
$a >= $b
TRUE,如果$a大于或等于$b
字符串运算符
包括(.)和(.=)两种用于拼接字符串的运算符。
自增和自减运算符
包括(++)和(–)。
逻辑运算符
逻辑运算符
名 称
例 子
结 果
and
逻辑与
$a and $b
TRUE,如果 $a 与 $b都为TRUE
or
逻辑或
$a or $b
TRUE,如果 $a 或 $b任意一个为TRUE
xor
逻辑异或
$a xor $b
TRUE,如果 $a 或 $b任意一个为TRUE,但不同时是
!
逻辑非
! $a
TRUE,如果 $a 不为TRUE
&&
逻辑与
$a && $b
TRUE,如果 $a 与 $b都为TRUE
||
逻辑或
$a || $b
TRUE,如果 $a 或 $b中任意一个为TRUE