Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解释php if语句_Php - Fatal编程技术网

解释php if语句

解释php if语句,php,Php,有人能详细解释一下这些if语句在做什么吗 第一个符号中的三个===符号是什么,第二个符号中的一个是什么意思 $aProfile = getProfileInfo($iId); if($aProfile === false) return false; if(!((int)$aProfile['Role'] & $iRole)) return false; 以下是PHP操作员的良好指南: 有关&.的信息,请参阅关于逐位运算符的部分。这里有

有人能详细解释一下这些if语句在做什么吗

第一个符号中的三个===符号是什么,第二个符号中的一个是什么意思

$aProfile = getProfileInfo($iId);
    if($aProfile === false)
        return false;

    if(!((int)$aProfile['Role'] & $iRole))
        return false;

以下是PHP操作员的良好指南:


有关&.

的信息,请参阅关于逐位运算符的部分。这里有一个很好的PHP运算符指南:

有关&.

===类型安全相等性测试的信息,请参阅位运算符部分

'3'==3将返回true,但'3'==3将不会返回true,因为一个是字符串,一个是整数。类似地,null==0将返回true,但null==0将不返回true;10.00==10将返回true,但10.00==10将不返回true

&是按位AND运算符。如果从原始的两个位掩码设置了两个对应的位,则返回一个位掩码,其中设置了一个位

例如:

$x = 5;
$y = 17;
echo $x & $y;
使1产生回声$x是…000101,$y是…010001。它们中唯一设置的位是最右边的一位,因此得到了…000001,即1。

==类型安全相等性测试

'3'==3将返回true,但'3'==3将不会返回true,因为一个是字符串,一个是整数。类似地,null==0将返回true,但null==0将不返回true;10.00==10将返回true,但10.00==10将不返回true

&是按位AND运算符。如果从原始的两个位掩码设置了两个对应的位,则返回一个位掩码,其中设置了一个位

例如:

$x = 5;
$y = 17;
echo $x & $y;

使1产生回声$x是…000101,$y是…010001。它们中唯一设置的位是最右边的一位,因此您可以得到…000001,即1。

链接不错!与==equality相比,===equality运算符很少使用,但有时它会很有用。为了确保您清楚,只有当两个变量具有相同的值且类型相同时,它们才是相同的。谢谢,杰夫。然而,应该注意的是,===运算符确实执行了初学者期望的==操作,它检查标识和类型的相等性…因此1===true为false,而1==true为true。对于初学者来说,在使用==运算符之前仔细查看所有可能的真值语句是很重要的…否则它们可能会遇到无法立即解决的问题。链接不错!与==equality相比,===equality运算符很少使用,但有时它会很有用。为了确保您清楚,只有当两个变量具有相同的值且类型相同时,它们才是相同的。谢谢,杰夫。然而,应该注意的是,===运算符确实执行了初学者期望的==操作,它检查标识和类型的相等性…因此1===true为false,而1==true为true。对于初学者来说,在使用==运算符之前仔细查看所有可能的真值语句是很重要的…否则它们可能会遇到无法立即解决的问题。我最喜欢的是:1.0===4/4是false。。。1==4/4是真的。。。当然,1.0==4/4是正确的。。。我最喜欢它的原因是1.5==6/4是真的。所以除法有时返回一个浮点,有时返回一个int…@ircmaxell:看起来很奇怪,但它不是PHP独有的,也与PHP实现没有任何关系。只是PHP===能够公开底层存储机制。4/4的结果不需要浮点存储,所以它没有被使用。@webbiedave:哦,我知道。但这绝对不是我期望发生的事情,我假设除法总是返回一个浮点数。我不是说有什么不对劲,只是需要注意一下,因为如果使用===或类型检查是\u float…一开始可能会让人困惑,我最喜欢的是:1.0===4/4是false。。。1==4/4是真的。。。当然,1.0==4/4是正确的。。。我最喜欢它的原因是1.5==6/4是真的。所以除法有时返回一个浮点,有时返回一个int…@ircmaxell:看起来很奇怪,但它不是PHP独有的,也与PHP实现没有任何关系。只是PHP===能够公开底层存储机制。4/4的结果不需要浮点存储,所以它没有被使用。@webbiedave:哦,我知道。但这绝对不是我期望发生的事情,我假设除法总是返回一个浮点数。我并不是说有什么问题,只是需要注意,因为如果使用===或类型检查是\u float,一开始可能会让人困惑……为什么要投反对票?有许多PHP新手对==和===感到困惑。为什么会投反对票?有许多PHP新手对==和==感到困惑。