PHP中and与&&运算符的区别

藏色散人
藏色散人 原创
2023-04-05 06:02:01 3914浏览


PHP中‘and’运算符称为逻辑运算符。如果两个操作数均为true,则返回true。

例:

<?php

// 变量声明
// 初始化
$a = 100;
$b = 50;

if ($a == 100 and $b == 10)
    echo "True";
else
    echo "False";

输出:

False

说明:由于变量$a = 100而另一个变量$b = 10,因此条件$a == 100的计算结果为true,而$b == 10的计算结果为true。因此,'$a == 100和$b == 10'的计算结果为true,因为AND逻辑表明如果两个操作数都为真,则结果也为真。但是当输入$b = 20时,条件$b == 10为假,因此AND运算结果将为false。

PHP中‘&&’运算符也称为逻辑运算符。如果两个操作数均为true,则返回true。

例:

<?php 
  
// 声明一个变量并初始化
$a = 100; 
$b = 10; 
  
if ($a == 100 && pow($b, 2) == $a) 
    echo "True"; 
else
    echo "False";

输出:

True

说明:由于变量$ a = 100而另一个变量$ b = 10,条件$ a == 100的计算结果为true,而pow($ b,2)== $ a也计算为true,因为$b = 10被提升到2的幂是100,等于$ a。因此,'$ a == 100 && pow($ b,2)== $ a'的计算结果为真,因为AND逻辑表明只有当两个操作数都为真时,AND运算结果才为真。但是当输入$ b = 20时,条件pow($ b,2)== $ a为false,因此AND运算结果为false。

'AND'和'&&'运算符之间的比较:

基于优先级:

优先级基本上决定在表达式中首先执行哪些操作。'&&'运算符的优先级高,'AND'运算符的优先级低。

基于操作:

示例:

<?php 
  
// 使用&&运算符的表达式
$bool = TRUE && FALSE; 
  
// 显示&&操作的结果
echo ($bool ? 'TRUE' : 'FALSE'), "\n"; 

$bool = TRUE and FALSE; 
  
echo ($bool ? 'TRUE' : 'FALSE');

输出:

FALSE 
TRUE

说明:

每当操作数相同时,两个运算符的结果都不同。第一个表达式的计算结果为FALSE,而第二个表达式的计算结果为TRUE,即使它们都使用相同的操作。

因此,AND运算符和&&运算符的根本区别在于它们的优先级差异,但两者都执行相同的操作。

第一个表达式,$bool = TRUE && FALSE; 计算结果为FALSE,因为执行了第一个&&操作,然后将结果赋值给变量$bool,因为&&运算符的优先级高于=的优先级。

第二个表达式,$bool = TRUE and FALSE; 计算结果为TRUE,因为运算符“and”的优先级低于运算符“=”,因此=的右边的值TRUE被分配给$bool,然后“and”操作在内部执行但未分配,因此$bool现在保持为TRUE。

本篇文章就是关于PHP中'and'与'&&'运算符的具体介绍,希望对需要的朋友有所帮助!


以上就是PHP中and与&&运算符的区别的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。