PHP-开关var值自动增量在一段时间内意外工作
希望你能帮我做这个。。。所以基本上,我在一段时间内测试一个开关,它循环并比较值(一旦某个值达到$numRow的限制,While就会结束并停止执行其余代码) 我的代码如下:PHP-开关var值自动增量在一段时间内意外工作,php,html,while-loop,switch-statement,Php,Html,While Loop,Switch Statement,希望你能帮我做这个。。。所以基本上,我在一段时间内测试一个开关,它循环并比较值(一旦某个值达到$numRow的限制,While就会结束并停止执行其余代码) 我的代码如下: <?php $n = 0; $i = 0; $numRows = 4; while ($n <= $numRows){ switch($i++){ case 1: if($i == $numRows){ echo 'Case
<?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/>";
}
break;
case 5:
if($i == $numRows){
echo 'Case 5:La variable i ='.$i.' es igual a la cantidad de columnas n='.$n."<br/>";
} else {
echo 'Case 5: La variable i ='.$i.' es diferente a la cantidad de columnas n='.$n."<br/>";
}
break;
}
$n++;
echo $n;
}
是否有任何拼写错误或是我的语法有问题?我学习PHP是一种爱好,所以想知道这里是否有新手的错误:)
提前谢谢 使用预增量:
++$i
而不是$i++
:
switch(++$i){
//...
}
发生的情况是,当您发布增量($i++
)时,变量不会立即获取新值。仅当再次使用变量时,它才接受新值。因此,当您在开关中增加时,$i
仍然是1
。然后在案例:1
中,当您使用变量时,实际增量发生,它显示2而不是1
这与执行以下操作完全相同:
$++;
switch($i){
//...
}
请阅读更多信息。如果您希望每个循环增加$i,最好
$i++
switch($i){
switch($i++){
更改为switch($i){
$i++
switch($i){