Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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:为什么要用$var而不是(布尔)$var?_Php_Casting_Boolean - Fatal编程技术网

PHP:为什么要用$var而不是(布尔)$var?

PHP:为什么要用$var而不是(布尔)$var?,php,casting,boolean,Php,Casting,Boolean,这两种方法都将确保than$var是一个布尔值,但后者似乎更为明确。双感叹号(!!)输入较短,但不太清晰,更容易引起混淆。更不用说很难搜索到答案了 双感叹号是我只在JavaScript中听说过的东西,它没有布尔类型转换。在PHP中也使用它是正常的吗?这两种在PHP中都不常见,因为它们是不必要的 如果你能做到,您也可以在需要布尔表达式的地方使用它(while,if,&&,等等)。这在JavaScript中是有效的,尽管从技术上讲不是“强制转换”,但它实现了相同的效果: var booleanVal

这两种方法都将确保than$var是一个布尔值,但后者似乎更为明确。双感叹号(!!)输入较短,但不太清晰,更容易引起混淆。更不用说很难搜索到答案了


双感叹号是我只在JavaScript中听说过的东西,它没有布尔类型转换。在PHP中也使用它是正常的吗?

这两种在PHP中都不常见,因为它们是不必要的


如果你能做到
,您也可以在需要布尔表达式的地方使用它(
while
if
&&
,等等)。

这在JavaScript中是有效的,尽管从技术上讲不是“强制转换”,但它实现了相同的效果:

var booleanValue = Boolean(otherValueType);
这相当于:

var booleanValue = !!otherValueType;
我发现在处理传入参数时这样做是很好的,以澄清一个值是布尔值。当检查“真实性”时,不需要在PHP或JavaScript中进行类型转换。请记住,空字符串在PHP中相当于
false
,在JavaScript中相当于
true


因此,为了回答您的问题,无论哪种语言都可以,这只是个人风格的选择。

我做错了什么,还是
echo
在php中没有产生任何结果?