我正在尝试一些Boolean
值,只是出于好奇,我尝试了以下方法:
$_r = TRUE + FALSE;
if ($_r) ? print 'TRUE' : print 'FALSE'; // Prints TRUE
并且我发现了return TRUE
,即使是减法(无论顺序如何)也TRUE - FALSE
将返回TRUE
。加,乘,除或减去Boolean
值是否可行?
PHP文档中有关类型变戏法的快速报价:
PHP自动类型转换的一个示例是加法运算符“ +”。如果两个操作数中的任何一个都是浮点数,则两个操作数都将被评估为浮点数,结果将是一个浮点数。否则,操作数将被解释为整数,并且结果也将是整数。注意,这不会改变操作数本身的类型。唯一的变化是操作数的求值方式以及表达式本身的类型。
让我们将其应用于您的代码$_r = TRUE + FALSE;
:由于操作数(TRUE
和FALSE
)都不是浮点数,因此它们将被转换为整数(TRUE
== 1
,FALSE
== 0
),而加法则变为1+0
。结果(整数1
)存储在变量中$_r
。
在下一条语句(if ($_r) print 'TRUE'; else print 'FALSE';
)上,该if
语句将表达式放在括号内并评估其布尔值。不同于零的任何整数是TRUE
,零是FALSE
。$_r
is的值1
并转换为boolean,它变为TRUE
。因此,代码将打印出来TRUE
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句