$a=true;$a++;echo $a;结果输出的是1,为什么不是2呢?

2025-03-01 04:40:39
推荐回答(2个)
回答1:

这个问题可以使用var_dump();来得到答案.

$a=true;
$a++;
var_dump($a);

这时,我们可以看到输出结果为bool(true).也就是说,当给a赋值true时,他就是bool型变量了,进行$a++时,它并没有转换成int型.

因为是使用++,所以没必要转换,也不知道转换成什么类型.如果改为$a += 1;则转换为int型,结果为2;.如果改为$a += 1.5;则转换为浮点型,结果为2.5,

回答2:

我真是服了你了,难道数据类型都不用区分,就可以进行加减了吗?