【发布时间】:2018-08-20 11:48:56
【问题描述】:
我只想知道为什么如果我进行类型转换——使用 (bool)——表达式的布尔值——例如 2 < 1——即使表达式返回 true,也总是返回 false?
一个例子会说得更清楚
<?php
$value = (bool) 2 > 1;
var_dump($value); // bool(false)
$value = (bool) 2 < 1;
var_dump($value); // bool(false)
var_dump((bool)true) // bool(true)
var_dump((bool)false) // bool(false)
【问题讨论】:
-
强制转换的优先级高于比较运算符。
-
您能详细介绍一下吗?
-
即
(bool) 2 > 1是((bool) 2) > 1是true > 1是false。使用(bool)(2 > 1)。