您的位置:首页 > 编程语言 > PHP开发

复习php知识点五

2016-08-09 21:08 417 查看
运算符:

算术运算符

PHP有6种最基本的算术运算符:加(+)、减()、乘(*)、除(/)、取模(%)、取反()。例如:

<?php

$a=10;

$b=3;

$num=$a+$b; //加法,$num值为13

$num=$a$b; //减法,$num值为7

$num=$a*$b; //乘法,$num值为30

$num=$a/$b; //除法,$num值为3.333333…

$num=$a%$b; //取模,$num值为1

$num=$a; //取反,$num值为10

?>

赋值运算符的作用是将右边的值赋给左边的变量,最基本的赋值运算符是“=”。如“$a=3”表示将3赋给变量$a,变量$a的值为3。

由“=”组合的其他赋值运算符形成的扩展赋值运算符有“+=”、“=”、“*=”、“/=”、“.=”等。

例如:

<?php

$a=10;

$b=3;

$num=$a+$b; //将$a+$b的结果值赋给$num,$num值为13

$num=($c=6)+4 //$c的值为6,$num的值为10

$a+=6; //等同于$a=$a+6,$a赋值为16

$b=2; //等同于$b=$b2,$b赋值为1

$a*=2; //等同于$a=$a*2,$a赋值为32

$b/=0.5; //等同于$b=$b/0.5,$b赋值为2

$string="连接";

$string.="字符串"; //等同于$string=$string."字符串",$string赋值为"连接字符串"

?>

位运算符可以操作整型和字符串型两种类型数据。它操作整型数的指定位置位,如果左、右参数都是字符串,则位运算符将操作字符的ASCII值。下表列出了所有的位运算符及其说明。

位运算符

名 称

例 子

结 果

&

按位与

$a & $b

将$a和$b中都为1的位设为1

|

按位或

$a | $b

将$a或$b中为1的位设为1

^

按位异或

$a ^ $b

将$a和$b中不同的位设为1



按位非

~ $a

将$a中为0的位设为1,反之亦然

<<

左移

$a << $b

将$a中的位向左移动$b次(每一次移动都表示“乘以 )

>>

右移

$a >> $b

将$a中的位向右移动$b次(每一次移动都表示“除以 )

比较运算符用于对两个值进行比较,不同类型的值也可以进行比较,如果比较的结果为真则返回TRUE,否则返回FALSE。下表列出了所有的比较运算符及其说明。

比较运算符

名 称

例 子

结 果

==

等于

$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

说明:要注意,如果整数和字符串进行比较,字符串会被转换成整数;如果比较两个数字字符串,则作为整数比较。其他类型之间的比较请参照下表

运算数1的类型

运算数2的类型

结 果

null 或 string

string

将NULL转换为"",进行数字比较

bool 或 null

任何其他类型

转换为bool,FALSE < TRUE

object

object

内置类可以定义自己的比较,不同类不能比较,相同类和数组同样方式比较属性(PHP 4中),PHP 5有自己的说明

string或resource

string或resource

将字符串和资源转换成数字,按普通数字比较

array

array

具有较少成员的数组较小,如果运算数1中的键不存在于运算数2中,则数组无法比较,否则逐个值比较

array

任何其他类型

array 总是更大

object

任何其他类型

object 总是更大

错误控制运算符:

PHP支持错误控制运算符@,将其放置在PHP表达式之前,该表达式可能产生的任何错误信息都将被忽略。例如:

<?php

echo $a; //变量$a未定义,不加@会显示NOTICE信息

$a="Hello!";

echo $a; //输出"Hello!"

$b=@test(); //忽略调用test()函数时产生的错误信息

$cnn=@mysql_conncet("localhost","username","pwd");

//忽略连接mysql数据库出错产生的错误信息

?>

当程序产生错误时,PHP会将错误信息输出到屏幕上,使用错误控制运算符后就不再显示这些错误信息了。由于错误控制运算符只对表达式有效,可以将它放在变量、函数、常量等之前,而不能将它放在函数的定义或类的定义之前,也不能用于条件结构,如if和foreach等。

执行运算符:

PHP支持一个执行运算符,即反引号(``)。在PHP脚本中,将外部程序的命令行放入反引号中,并使用echo()或print()函数将其显示,PHP将会在到达该行代码时启动这个外部程序,并将其输出信息返回,其作用效果与shell_exec()函数相同。例如:

<?php

$output='date';

echo $output; //输出当前日期

echo shell_exec(`date`); //输出当前日期,结果同上

?>

注意:

反引号运算符在激活了安全模式或者关闭了 shell_exec() 时是无效的。

与其它某些语言不同,反引号不能在双引号字符串中使用。

PHP支持C语言风格的自增与自减运算符。PHP的自增/自减运算符主要是对整型数据进行操作,同时对字符也有效。这些运算符是前加、后加、前减和后减。前加是在变量前有两个“+”号,如“++$a”,表示$a 的值先加1,然后返回 $a。后加的“+”在变量后面,如“$a++”,表示先返回$a,然后$a的值加1。前减和后减与加法类似。例如:

<?php

$a=5; //$a赋值为5

echo ++$a; //输出6

echo $a; //输出6

$a=5;

echo $a++; //输出5

echo $a; //输出6

$a=5;

echo --$a; //输出4

echo $a; //输出4

$a=5;

echo $a--; //输出5

echo $a; //输出4

?>

PHP还可对字符进行递增运算。

在PHP中,字符变量只能递增,递减没有效果。例如:

<?php

$a='a';

echo ++$a; //输出'b'

$a='z';

echo ++$a; //输出'aa'

$a='b';

echo --$a; //递减无效,输出'b'

?>

逻辑运算符可以操作布尔型数据,PHP中的逻辑运算符有6种,下表列出了所有的逻辑运算符及其说明。

逻辑运算符

名 称

例 子

结 果

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

例如:

<?php

$m=10;

$n=6;

if($m>5&&$n<=8) //判断$m>5和$n<=8是否都是TRUE

{

echo "YES!"; //输出'YES!'

}

?>

字符串运算符主要用于连接两个字符串,PHP有两个字符串运算符“.”和“.=”。“.”返回左、右参数连接后的字符串,“.=”将右边参数附加到左边参数后面,它可看成赋值运算符。

例如:

<?php

$a="Hello ";

$b="World";

echo $a.$b; //输出'Hello World'

$a.= "World";

echo $a; //输出'Hello World'

?>

PHP还提供了数组运算符,用来对两个数组进行比较,下表中列出了所有的数组运算符及其说明。

PHP还有一个类型运算符instanceof,用来测定一个给定的对象是否来自指定的对象类。

数组运算符

名 称

例 子

结 果

+

联合

$a + $b

$a和$b的联合

==

相等

$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

PHP还提供了一种三元运算符<?:>。它与C语言中的相同,语法格式如下:

condition?value if TRUE: value if FALSE

condition是需要判断的条件,当条件为真时返回冒号前面的值,否则返回冒号后面的值。

例如:

<?php

$a=10;

$b=$a>100? 'YES': 'NO';

echo $b; //输出'NO'

?>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: