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

php中逻辑操作符&和&&的异同

2016-12-23 11:28 218 查看
php中逻辑操作符&和&&的异同.
在php中有5种算术操作符(+ - * / %),6种赋值操作符(+= -= *= /= %= .=),8种比较操作符(=== < > <= >= != <> !==),6种的逻辑操作符(如&&、 ||、 &、 |、 ! 。其中逻辑与&可写成and,逻辑或|写成or),以及一些其他操作符(错误控制操作符@、 执行操作符反引号"--不是单引号、字符串操作符.与.=、递增/递减操作符++/--、三元操作符?:)。

关于操作符优先级,可以参考相关文档。

php中&和&&的异同

[php] view
plain copy

<?php  

$a=10;  

if($a>4 && (++$a>10))  

{  

}  

//输出结果为11.  

echo $a;  

?>  

  

<?php  

$a=10;  

if($a>4 and (++$a>10))  

{  

}  

//输出结果为11.  

echo $a;  

?>  

  

**************************************************************  

  

<?php  

$a=10;  

if($a>4 && (++$a<10))  

{  

}  

//输出结果为11.  

echo $a;  

?>  

  

<?php  

$a=10;  

if($a>4 & (++$a<10))  

{  

}  

//输出结果为11.  

echo $a;  

?>  

  

*********************************************************  

  

<?php  

$a=10;  

if($a<4 && (++$a>10))  

{  

}  

//输出结果为10.  

echo $a;  

?>  

  

<?php  

$a=10;  

if($a<4 & (++$a>10))  

{  

}  

//输出结果为11.  

echo $a;  

?>  

  

*******************************************************************  

  

<?php  

$a=10;  

if($a<4 && (++$a<10))  

{  

}  

//输出结果为10.  

echo $a;  

?>  

  

<?php  

$a=10;  

if($a<4 & (++$a<10))  

{  

}  

//输出结果为11.  

echo $a;  

?>  

  

*******************************************************************  

  

<?php  

// 下面的 sktest() 不被调用,原因是它们被运算符“短路”。  

$a = (false && sktest());  

$b = (true  || sktest());  

$c = (false and sktest());  

$d = (true  or  sktest());  

  

// "||" 的优先级比 "or" 高  

$e = false || true; // $e 被赋值为 (false || true),结果为 true  

$f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高]  

var_dump($e, $f);  

  

// "&&" 的优先级比 "and" 高  

$g = true && false; // $g 被赋值为 (true && false),结果为 false  

$h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高]  

var_dump($g, $h);  

  

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