Heim > Backend-Entwicklung > PHP-Tutorial > php逻辑操作符中&跟&&的异同

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

WBOY
Freigeben: 2016-06-13 12:54:58
Original
1009 Leute haben es durchsucht

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


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

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


php中&和&&的异同

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

<?php $a=10;
if($a>4 & (++$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);

?>
Nach dem Login kopieren


表达式一$a && $b ,表达式二$a & $b

1、相同点:两个表达式都是当$a、$b都为true时,表达式为真。两种运算符对此表达式结果没有影响。

2、不同点:表达式$a && $b中&&前面的$a为false时,已确定表达式为假,此时逻辑操作符&&后的$b不再进行计算,即所谓的被运算符“短路”了。而对于表达式$a & $b,不论&前的$a真假,表达式后的$b依然要进行计算。逻辑操作符后的$b是否被运行,可能影响到后面的数据和程序结果。

对于逻辑操作符||和|,异同同上。



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage