复习php知识点五

运算符:

算术运算符
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

任何其他类型

转换为boolFALSE < TRUE

object

object

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

stringresource

stringresource

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

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'
?>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值