这节课程PHP学习日志学的是是运算符的最后一节视频教程,主要学习的是一些运算符的短路特性,主要有以下两个运算符具有短路的特性,他们是逻辑运算符的逻辑与(&&)逻辑或(||),存在着短路这一特性。

   例:$a = 1;

       $a==1 || $c = 100; //逻辑或的运算结果是运算符(||)的两边只要有一个为真,结果就返回“真”后就不再执行其它表达式,所以在这个语句里已经判断到$a的返回值是“真”,就不再执行给$c赋值,这样就形成了一个短路现象,所以后面的输出语句不输出内容。

       $a==2 && $c=100; //逻辑与的运算符(&&),逻辑与的运算方式是运算符的两边表达式都为“真”才会继续执行其他语句而直接返回一个“假”值,所以这条语句也将不执行$c的赋值。

       echo '$c的值:'.$c;

   按位运算符按位与(&)和按位或(|),这两个运算符不存在短路特性,虽然它们的运算方式和逻辑与及逻辑或的运算方式相似,但他们没有存在短路现象,因为按位与它是参加运算的表达式的同位都为1时才返回1否则返回0,按位或是同位运算不相同时返回1否则返回0。

   由于有了运算符的短路特性,我们可以利用这一特性来编写一些判断语句,这样可以增加了程序的灵活性,例如我们可以使用在打开一个文件时进行判断:

   例:

    $file = fopen('a.txt','r') or die('文件不存在。');  //通过这样设置了逻辑或运算符短路,这样就可以完成判断一个文件是否存在。die()命令是结束整个文件的执行,如果程序运行到有die()时就结束了程序的运行,不再去执行该页面里的其他代码,输出错误提示。   

php运算符的短路特性
标签: