在上午和業(yè)務(wù)需求戰(zhàn)斗結(jié)束之后,準(zhǔn)備打開群看看各位老司機(jī)有沒有看車,突然看到 @E舞九天 II 發(fā)的一些消息
他發(fā)現(xiàn),PHP 的布爾值自增,無論自增多少遍,最后輸出的都是 1
這就比較有趣了~
自增和自減,++$a 和 $a++ 的區(qū)別大家都知道
++a 表示取 a 的地址,增加內(nèi)存中 a 的值,然后把值放在寄存器中
a++ 表示取 a 的地址,把 a 的值裝入寄存器中,然后增加內(nèi)存中 a 的值
我打開一個(gè)編輯器,去確認(rèn)一下這個(gè)結(jié)果
$a = true;
var_dump(--$a);
echo PHP_EOL;
echo $a;
$b = false;
echo PHP_EOL;
var_dump(++$b);
運(yùn)行最后輸入結(jié)果如下
bool(true)
1
bool(false)
發(fā)現(xiàn)結(jié)果和之前設(shè)想的不太對,PHP 對于布爾值的自增運(yùn)算沒有做任何處理,而自增后為 1 是因?yàn)槲覀兪褂昧?echo 去輸出,導(dǎo)致 bool 被強(qiáng)轉(zhuǎn)
去查詢 PHP 的官方文檔,沒想到有一行很明顯的提示
Note: 遞增/遞減運(yùn)算符不影響布爾值。遞減 NULL 值也沒有效果,但是遞增 NULL 的結(jié)果是 1。

總結(jié)
以上所述是小編給大家介紹的PHP 布爾值的自增與自減,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- php 根據(jù)自增id創(chuàng)建唯一編號類
- PHP中ID設(shè)置自增后不連續(xù)的原因分析及解決辦法
- php實(shí)現(xiàn)Mongodb自定義方式生成自增ID的方法