首頁 > 後端開發 > php教程 > 面试题 - php中true++问题

面试题 - php中true++问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:47:29
原創
1438 人瀏覽過

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

<code>$a=0;
$b=0;
if($a=3 || $b=3){
    $a++;
    $b++;
}
</code>
登入後複製
登入後複製

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

<code>$c = true;
echo $c++;
</code>
登入後複製
登入後複製

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

回复内容:

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

<code>$a=0;
$b=0;
if($a=3 || $b=3){
    $a++;
    $b++;
}
</code>
登入後複製
登入後複製

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

<code>$c = true;
echo $c++;
</code>
登入後複製
登入後複製

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

boolean 的递增/递减无效果。

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

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

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板