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中有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中::、->、self、$this操作符的区别
- 避免重载&&(逻辑与)、||(逻辑或)或,(逗号)操作符
- 逻辑操作符---Lua: and,or,not 对比 C++:&&,||,!
- php && 逻辑与运算符使用说明
- codeforces-1B-Spreadsheets( C++ && PHP && 字符串操作 && 数学逻辑 )
- PHP逻辑操作符
- &&逻辑操作符的妙用
- 分页控件代码逻辑(JS版本&PHP版本)
- asp.net 逻辑操作符与(&&),或(||),非(!)
- 分页控件代码逻辑(JS版本&PHP版本)
- PHP中::、->、self、$this操作符的区别
- PHP中::、->、self、$this几种操作符的区别介绍
- PHP中::、->、self、$this几种操作符的区别介绍
- PHP中::、->、self、$this操作符的区别
- 3.2.2之关系和逻辑操作符·练习
- PHP逻辑操作符
- [11.11]二元逻辑操作符 && ||
- PHP中::、->、self、$this操作符的区别
- PHP:( && )逻辑与运算符使用说明