[請益] 請教i++問題

看板PHP作者 (別急著吃棉花糖)時間14年前 (2011/06/01 15:19), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/2 (看更多)
因為還是初學者,對於i++有一些疑問,想上來請教各位前輩 寫了程式測試 $i=0; $i=$i++; print $i; if ($i=0) print 0; else print 1; 結果是印出0、1 這邊的$i++是代表說只有做到「印出」的動作後才將i+1嗎? ===================================================== 再寫了一個程式測試後 <?php $c=0; $c=$c++; print $c; $p=$c; print $p; ?> 這邊確是印出0、0 有點不懂為什麼$p會是0呢?冏 像這種後置才要加的,要何時才會加1呢? 以上的笨問題還請各位能教導一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.72.29.253

06/01 15:36, , 1F
if ($i=0) 這段就不對了吧!
06/01 15:36, 1F

06/01 15:42, , 2F
if($i=0) 永遠都是true
06/01 15:42, 2F

06/01 15:45, , 3F
$i = $i ++先賦值,才++,所以是0很正常。
06/01 15:45, 3F

06/01 15:47, , 4F
$a = $i ++;$a會先取得0,最後才是++,$i變成1
06/01 15:47, 4F

06/01 15:48, , 5F
但如果你反過來$a = ++ $i;則會先把$i+1再存入$a
06/01 15:48, 5F

06/01 15:49, , 6F
if($i=0) 永遠都是False
06/01 15:49, 6F

06/01 15:50, , 7F
請記得$X = XX是賦值。$X == XX才是比較條件。
06/01 15:50, 7F

06/01 21:59, , 8F
啊,VB寫太久了,把VB和C搞混了。抱歉
06/01 21:59, 8F
文章代碼(AID): #1DvUVoA4 (PHP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
3
8
文章代碼(AID): #1DvUVoA4 (PHP)