PHP中的Vardump()使我感到困惑

时间:2018-07-17 16:42:59

标签: php

我和我的朋友都在编程营地,而我们却在弄乱一些php。尽管我们俩都注意到了一些奇怪的东西,但我们无法找出导致错误的原因。由于某些原因,添加括号会更改vardump()的输出。这是怎么回事?

var_dump((bool) (2==5)); //returns bool(false)
var_dump((bool) 2==5); //returns bool(true)

1 个答案:

答案 0 :(得分:5)

类型转换适用于第一个实体或操作数。

(2==5),因为它用括号括起来了,所以一起解释。因此2==5false,所以(bool) false仍然是false

第二个是将2转换为true的布尔值,并且true5的松散比较也是true,因为其他整数比0粗略地评估为true。

这可以归结为:

2 == true
5 == true