亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP - 切換變量值自動增量在一段時間內意外工作

PHP - 切換變量值自動增量在一段時間內意外工作

PHP
蕭十郎 2023-11-05 15:47:38
希望你能幫助我解決這個問題...所以基本上,我正在一個 While 內測試一個開關,它循環并比較值(一旦某個值達到限制 $numRow,while 結束并停止執行其余代碼) 。我的代碼如下:    <?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/>";               }   我覺得奇怪的是代碼的輸出。變量 $I 應該從 1 開始,但在情況 1 中它的值為 2...這可能嗎?代碼中沒有其他操作對變量求和 +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是否有任何拼寫錯誤或我在語法上做錯了什么?我正在學習 PHP 作為一種愛好,所以想了解這里是否有任何新手錯誤:)
查看完整描述

2 回答

?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

使用預增量:++$i而不是$i++:


switch(++$i){

//...

}

發生的情況是,當您進行后增量 ( $i++) 時,變量不會立即采用新值。僅當您再次使用該變量時,它才會采用新值。所以當你在開關上增量時$i仍然是1。然后在 中case: 1,當您使用該變量時,會發生實際的增量,并且顯示 2 而不是 1。


這與執行以下操作完全相同:


$++;

switch($i){

//...

}



查看完整回答
反對 回復 2023-11-05
?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

如果你想在每個循環中增加 $i ,最好

$i++
switch($i){


查看完整回答
反對 回復 2023-11-05
  • 2 回答
  • 0 關注
  • 190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號