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

<?php$a=true;$a++;echo$a;?>为什么输出结果是1?我觉得$a=true的时候,$a是1,然后$a++的话,$a就变成2了。最后应该输出2才对额!... <?php
$a=true;
$a++;
echo $a;
?>
为什么输出结果是1?我觉得$a=true的时候,$a是1,然后$a++的话,$a就变成2了。最后应该输出2才对额!
展开
 我来答
b94665
2015-10-29 · TA获得超过3846个赞
知道小有建树答主
回答量:1032
采纳率:83%
帮助的人:259万
展开全部

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

<?php
$a=true;
$a++;
var_dump($a);

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

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

紫耀星辰me
2015-10-29 · 超过53用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:60.6万
展开全部
我真是服了你了,难道数据类型都不用区分,就可以进行加减了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式