一、常量
在php中通常使用 define() 函数来定义符号常量,且其值定义后不能再修改。此外,define() 函数也可用来检验某个符号常量是否已被定义。
1.define()函数用于定义时:
<? define("PI","3.14")> //定义符号常量PI,区分大小写,值位3.14
<? define("LOL","英雄联盟",true)> //定义符号常量LOL,不区分大小写,值为英雄联盟
2.define()函数用于检验某符号常量是否被定义时:
<? echo define("PI")> //若PI已被定义则返回"1"
二、变量
php中的变量是一种弱类型:PHP变量不需要事先定义,可通过赋值初始化其为任何数据类型,也可以通过赋值随意改变变量的数据类型。
1.php变量的命名规则:
- php变量必须以"$"开头,后面字符是变量的名称;
- php变量区分大小写;
- 变量名称必须以字母或者"_"(下划线)开头,例如 "$_id" 。
2.php变量的作用域:作用域是指该变量在程序中可以被使用的范围。
局部变量:定义在函数内部的变量,只有在函数内部才能调用。
全局变量:除去定义在函数内部的变量之外的所以变量。
注意:函数外部不能直接引用函数内部定义的全局变量,使用global关键字可在函数外引用函数内的变量。(使用$GLOBALS[ ]全局数组也可实现在函数内部引用外部变量。)
<? $a = "全局变量";
function fun(){
$a = "局部变量"; 若在此处添加一行代码:global $a; 则输出的结果全为"局部变量"。
echo $a;
}
fun(); //输出"局部变量"
echo $a; //输出"全局变量"
//可见函数内赋值的$a并不能改变函数外部的$a的值
?>
GLOBAL关键字使用的注意事项:
- global只能写在函数内部,写在外部没用;
- 赋值时不能用global声明;
- global只是起传递参数的作用,并非将变量作用域设置为全局。
3.变量的生存期:生存期表示该变量在什么时间范围内存在。
为了能在函数调用结束后仍然保留局部变量的值,可声明静态变量(static关键字)来实现继续使用上次调用结束后的值。
<?function test(){
static $w = 0; //声明静态变量$w3
echo $w;
$w++;
}
test(); //输出1
test(); //输出2
test(); //输出3
?>
4.可变变量(变量的变量):$$变量名,用来输出另一个变量。
<?
$a = ' b ';
$b = ' 233 ';
echo $a; 输出字符b
echo $$a; 输出233($b的值)
?>
5.引用赋值:用&取地址来修改变量的值。
<?
$a=2;
$b='sun';
$b=&$a;
echo $b; 输出2($a的值)
$a=0; 改变$a的值
echo $b; 输出0
?>
三、运算符
1.算数运算符:+、-、*、/、%
2.连接运算符:. (如果 . 的左右两边有数字,要用空格隔开)
3.赋值运算符: = (左边只能是变量)
4.比较运算符:==、>、<、>=、<=、!=和<>(不等于)、===(恒等于)、!==(非恒等于)等于:数值相等。如:$a='1'==1,返回 true
恒等于:数据类型和数值完全相等。
5.逻辑运算符:!(非)、&&或者and(与)、||或者or(或)、xor(异或)
返回结果是一个布尔值(true或false)
优先级:与 > 或
6.++/--(自加/减1)
7.条件运算符:条件表达式 ? 表达式1 : 表达式2
如果条件表达式为真,执行表达式1(否则执行表达式2)
8.执行运算符(``):只能在Apache中使用,IIS中禁止。(安全性)