[英]PHP Array and Switch Case Statement
我的代码无法正常工作。 它只是打印出默认值
这是PHP
$updatesQuery = "SELECT * FROM updates WHERE Isnote = 0";
$rs = mysql_query($updatesQuery) or
die("SQL: $usersQuery)<br />".mysql_error());
while($row = mysql_fetch_array($rs)) {
switch ($i){
case $row[CatID]=1:
$i = "kunder";
break;
case $row[CatID]=2:
$i = "bokningar";
break;
case $row[CatID]=3:
$i = "offerter";
break;
case $row[CatID]=4:
$i = "leverantorer";
break;
case $row[CatID]=5:
$i = "kalender";
break;
default:
$i = "no work";
break;
}
echo $i;
}
sql查询有效。 但是我的输出只是默认值。 “没工作”。
我写错了什么?
打开变量,在本例中$row['CatID']
:
switch ($row['CatID']){
case 1:
$i = "kunder";
break;
case 2:
$i = "bokningar";
break;
...
似乎从未设置$i
,因此switch()
语句默认为(令人惊讶)default子句。
将您的代码更改为这样的代码;
switch ($row['CatID']){
case 1:
$yourVar = "kunder";
break;
}
switch语句查看当前变量。 如果该变量恰好是数据库中的一列,则需要评估该特定变量。
如果在切换之前在$row['catID']
变量$i
分配了数据,则您的代码可以正常工作。
只是一个猜测
switch ($row['CatID']) {
case 1:
$i = "kunder";
break;
// And so on
}
$i
从未定义 $row[CatID]
应该会触发通知,因为您忘记了'
$row[CatID]=2
设置值,这在上下文中没有多大意义 switch($row['CatID'])
然后使用案例1,案例2:等等
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.