一、变量和常量

1.1、变量名(标示符)

1)变量:$开头标志

2)变量名:能够由字母。数字,_ 3者组成,不能用数字开头

3)标识符是区分大写和小写的。但函数名不区分大写和小写。

4)变量名称能够与函数名称同样,尽管是同意的。但应尽量避免混淆。

PHP不要求在使用变量之前声明变量,当第一次给一个变量赋值时。才创建了这个变量。


比如:

$3age;//错
$_ = 6;//能够
$*p = 30;//错



1.2、数据类型

1) Integer: 用来表示整数。

2) Float: 用来表示全部实数。

3) String: 用来表示字符串。

4) Boolean: 用来表示true或false。

5) Array: 用来保存具有同样类型的多个数据项。

6) Object: 用来保存类的实例。

PHP能够在不论什么时间依据保存在变量中的值来确定变量的类型,当须要强制类型转换时能够依照java的语法来转换

比如:

$icount = 0;
$fcount = (float)$icount;


1.3、常量的定义

常量能够保存一个值,可是程序一旦初始化之后,常量的值就不能改变。

define('PI', 3.14159);
echo PI;


常量一般用大写表示,用define函数定义,而且不用$符号标识。


  • 常量前面没有美元符号($);
  • 常量仅仅能用 ​define()​ 函数定义。而不能通过赋值语句;
  • 常量能够不用理会变量的作用域而在不论什么地方定义和訪问;
  • 常量一旦定义就不能被又一次定义或者取消定义;
  • 常量的值仅仅能是标量。





1.4、变量作用域

作用域指在一个脚本中某个变量能够使用或可见的范围。PHP具有6项主要的作用域规则。

1) 内置超级全局变量能够在脚本中的不论什么地方使用。

比如:

$GLOBALS: 全部全局变量数组。

$_SERVER: server环境变量数组

$_GET: GET方法传递给该脚本的变量数组

$_POST: POST方法传递给该脚本的变量数组

$_COOKIE: cookie变量数组

$_FILES: 与文件上传相关的变量数组

$_ENV: 环境变量数组

$_REQUEST: 全部用户输入的变量数据,包含$_GET、$_POST和$_COOKIE

$_SESSION: 会话变量数组

2) 常量一旦被声明。能够在全局可见。

3) 在脚本中声明的全局变量在全脚本中是可见的。

4) 函数内部使用的变量声明为全局变量时,名称要与全局变量名称一致。

5) 函数内部创建并声明为静态的变量在函数外不可见,但在函数的多次运行过程中保持该值。

6) 函数内部创建的变量是本地的,当函数终止时,该变量也就不存在。


二、运算符或操作符

2.1、算数运算符

算术操作符也就是数字操作符。通经常使用于整型或双精度类型的数据。假设应用在字符串中。PHP会试图将这些字符转换成一个数字,假设当中包括"e"或"E",它会被当作是科学表示法并被转换成浮点数,否则将会被转换成整数。PHP会在字符串開始处寻找数字。而且使用这些数字作为该字符串的值。假设没有找到数字,则该字符串的值为0。



操作符



名称



演示样例



+





$a + $b



-





$a - $b



*





$a * $b



/





$a / $b



%





$a % $b









2.2、字符串连接

利用“.”

$string = "hello"." world";


2.3、赋值运算


复合赋值操作符


操作符



用法



等价于



+=



$a += $b



$a = $a + $b



-=



$a -= $b



$a = $a - $b



*=



$a *= $b



$a = $a * $b



/=



$a /= $b



$a = $a / $b



%=



$a %= $b



$a = $a % $b



.=



$a .= $b



$a = $a . $b












2.4、引用

引用操作符"&"能够在关联赋值中使用。引用相当于一个别名,而不是一个指针,它使两个变量指向同样的内存地址,能够使用unset来重置

比如:

$a = 1;
$b = &$a;
$b = 2;
unset($a);


2.5、比較运算


比較操作符


操作符



名称



用法



==



等于



$a == $b



===



恒等



$a === $b



!=



不等



$a != $b



!==



不恒等



$a !== $b



<>



不等



$a <> $b



<



小于



$a < $b



>



大于



$a > $b



<=



小于等于



$a <= $b



>=



大于等于



$a >= $b















2.6、逻辑运算


逻辑操作符


操作符



名称



用法



!





!$b



&&





$a && $b



||





$a || $b



and





$a and $b



or





$a or $b



xor



异或



$a xor $b












2.7、位运算


位操作符


操作符



名称



用法



&



按位与



$a & $b



|



按位或



$a | $b



~



按位非



~$a



^



按位异或



$a ^ $b



<<



左位移



$a << $b



>>



右位移



$a >> $b












2.8、其它

1) 逗号操作符

逗号操作符","用来分隔函数參数和其它列表项,这个操作符常常被附带使用。

2) 类操作符

"new"和"->"分别用来初始化类的实例和訪问类的成员。

3) 三元操作符

三元操作符"? :"类似于条件语句if-else的表达式版本号,语法格式例如以下:

condition ? value if true : value if false


4) 错误抑制符

错误抑制符"@"能够在不论什么表达式前使用,使用这个操作符。能够抑制代码产生的警告。

5) 运行操作符

运行操作符是一对操作符,它是一对反向单引號"` `",PHP将试着将反向单引號之间的命令当作server端的命令行来运行,表达式的值就是命令的运行结果,比如:

echo `ls -l`;


6) 类型操作符

"instanceof"操作符同意检查一个对象是否是特定类的实例,比如:

if ($object instanceof sampleClass)
echo "Object is an instance of sampleClass";


2.9、操作符优先级以及结合性

由低到高例如以下:


操作符优先级


结合性



操作符





,





or





xor





and





print





= += -= *= /= .= %= &= != ^= ~= <<= >>=





? :





||





&&





!





^





&



不相关



== != === !==



不相关



< <= > >=





<< >>





+ - .





* / %





! ~ ++ -- (type) @





[ ]



不相关



new



不相关



()



三、測试函数与測试变量

3.1、PHP提供了特定类型的測试函数。

比如:

1) is_array(): 检查变量是否是数组。

2) is_double()、is_float()、is_real(): 检查变量是否是浮点数,全部函数同样。

3) is_long()、is_int()、is_integer(): 检查变量是否是整数。全部函数同样。

4) is_string(): 检查变量是否是字符串。

5) is_bool(): 检查变量是否是布尔值。

6) is_object(): 检查变量是否是一个对象。

7) is_resource(): 检查变量是否是一个资源。

8) is_null(): 检查变量是否为null。

9) is_scalar(): 检查变量是否是标量,即整数、布尔值、字符串或浮点数。

10) is_numeric(): 检查变量是否是数字或数字字符串。

11) is_callable(): 检查变量是否是有效的函数名称。


3.2、測试变量状态

PHP有几个函数用来測试变量状态。

比如:

1) isset()

bool isset(mixed var[, mixed var[, ...]])


issset()须要一个变量作为參数。假设这个变量存在。则返回true,否则返回false。也能够传递一个由逗号间隔的变量列表,假设全部变量都被设置了,即返回true。

还能够使用与isset()相相应的unset()来销毁一个变量:

void unset(mixed var[, mixed var[, ...]])


2) empty()

bool empty(mixed var)


empty()能够用来检查一个变量是否存在,以及它的值是否为非空和非0,对应的返回值为true或false。

四、控制语句

4.1、if else

if (condition) {
expression;
}
elseif (condition) {
expression;
}
else {
expression;
}


4.2、switch

switch (expression) {
case value1:
expression;
break;
case value2:
expression;
break;
defalut:
expression;
break;
}


switch语句工作方式类似于if语句。可是它同意条件能够有多于两个的可能值。在switch语句中,仅仅要条件是一个简单的数据类型,能够提供一个case语句来处理每个条件值,而且提供对应的动作代码,此外另一个默认的case条件来处理没有提供特定值的情况。

当switch语句中的特定case被匹配时。PHP将运行该case下的代码,直至遇到break语句,假设没有break语句。switch将运行这个case下面全部值为true的case中的代码。

4.3、while

while (condition) {
expression;
}


4.4、for

for (expression1; condition; expression2) {
expression3;
}


expression1在開始时仅仅运行一次。通常在这里设置计数器的初始值。

在每一次循环開始之前,condtion表达式将被測试,假设表达式的值为false,循环将结束。

expression2在每一次循环结束时运行。通常在这里调整计数器的值。expression3在每一次循环中运行一次。

4.5、do while

do {
expression;
}
while (condition);


4.6、跳出控制结构

假设希望停止一段代码的运行,能够有3种方法。

1) 假设希望终止一个循环。能够使用break语句。脚本会从循环体后面的第一条语句開始运行。

2) 假设希望跳到下一次循环,能够使用continue语句。

3) 假设希望结束整个PHP脚本的运行,能够使用exit语句。