面试 - php中true++问题
PHPz
PHPz 2017-04-10 14:39:47
[PHP讨论组]

如题 今天突然想起来一个比较有意思代码片段

$a=0;
$b=0;
if($a=3 || $b=3){
    $a++;
    $b++;
}

运行结果当然是 1 1
但实质上 a 其实为true 然后 进行true++
于是做了一个测试 下面代码可以顺利通过

$c = true;
echo $c++;

但是 直接 echo true++ 这样肯定是错误的,但是why?

PHPz
PHPz

学习是最好的投资!

全部回复(3)
巴扎黑

boolean 的递增/递减无效果。

为什么直接true++不行, 也许在逻辑上, 只有”变“量的递增/递减才有意义, 常量/布尔值在内存中都是单独的区域,无法去改动的。

怪我咯

++和--运算符只能作用于变量。

PHP中文网

2++可以吗? 一样的道理。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号