繁体   English   中英

PHP数组和开关案例声明

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM