希望你能幫助我解決這個(gè)問(wèn)題...所以基本上,我正在一個(gè) While 內(nèi)測(cè)試一個(gè)開(kāi)關(guān),它循環(huán)并比較值(一旦某個(gè)值達(dá)到限制 $numRow,while 結(jié)束并停止執(zhí)行其余代碼) 。我的代碼如下: <?php$n = 0;$i = 0;$numRows = 4;while ($n <= $numRows){ switch($i++){ case 1: if($i == $numRows){ echo 'Case 1:La variable i ='.$i.' es igual a la cantidad de columnas n='.$n."<br/>"; } else { echo 'Case 1: La variable i ='.$i.' es diferente a la cantidad de columnas n='.$n."<br/>"; } break; case 2: if($i == $numRows){ echo 'Case 2:La variable i ='.$i.' es igual a la cantidad de columnas n='.$n."<br/>"; } else { echo 'Case 2:La variable i ='.$i.' es diferente a la cantidad de columnas n='.$n."<br/>"; } break; case 3: if($i == $numRows){ echo 'Case 3:La variable i ='.$i.' es igual a la cantidad de columnas n='.$n."<br/>"; } else { echo 'Case 3:La variable i ='.$i.' es diferente a la cantidad de columnas n='.$n."<br/>"; } break; case 4: if($i == $numRows){ echo 'Case4:La variable i ='.$i.' es igual a la cantidad de columnas n='.$n."<br/>"; } else { echo 'Case 4:La variable i ='.$i.' es diferente a la cantidad de columnas n='.$n."<br/>"; } 我覺(jué)得奇怪的是代碼的輸出。變量 $I 應(yīng)該從 1 開(kāi)始,但在情況 1 中它的值為 2...這可能嗎?代碼中沒(méi)有其他操作對(duì)變量求和 +1...輸出:1Case 1: La variable i =2 es diferente a la cantidad de columnas n=12Case 2:La variable i =3 es diferente a la cantidad de columnas n=23Case 3:La variable i =4 es igual a la cantidad de columnas n=34Case 4:La variable i =5 es diferente a la cantidad de columnas n=45是否有任何拼寫錯(cuò)誤或我在語(yǔ)法上做錯(cuò)了什么?我正在學(xué)習(xí) PHP 作為一種愛(ài)好,所以想了解這里是否有任何新手錯(cuò)誤:)
2 回答

吃雞游戲
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用預(yù)增量:++$i而不是$i++:
switch(++$i){
//...
}
發(fā)生的情況是,當(dāng)您進(jìn)行后增量 ( $i++) 時(shí),變量不會(huì)立即采用新值。僅當(dāng)您再次使用該變量時(shí),它才會(huì)采用新值。所以當(dāng)你在開(kāi)關(guān)上增量時(shí)$i仍然是1。然后在 中case: 1,當(dāng)您使用該變量時(shí),會(huì)發(fā)生實(shí)際的增量,并且顯示 2 而不是 1。
這與執(zhí)行以下操作完全相同:
$++;
switch($i){
//...
}
- 2 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報(bào)
0/150
提交
取消