Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组和开关Case语句_Php_Arrays_Switch Statement_Case - Fatal编程技术网

PHP数组和开关Case语句

PHP数组和开关Case语句,php,arrays,switch-statement,case,Php,Arrays,Switch Statement,Case,我的代码不起作用。 它只是打印出默认值 这里是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)) { s

我的代码不起作用。 它只是打印出默认值

这里是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;                
        }
$updatesQuery=“从Isnote=0的更新中选择*”;
$rs=mysql\u查询($updatesQuery)或
die(“SQL:$usersQuery)
。mysql_error()); while($row=mysql\u fetch\u数组($rs)){ 交换机(一美元){ 案例$row[CatID]=1: $i=“kunder”; 打破 案例$row[CatID]=2: $i=“bokningar”; 打破 案例$row[CatID]=3: $i=“报价人”; 打破 案例$row[CatID]=4: $i=“leverantorer”; 打破 案例$row[CatID]=5: $i=“卡伦德”; 打破 违约: $i=“无工作”; 打破 } echo$i; }
sql查询是有效的。 但是我的输出只是默认值。“没有工作”


我写错了什么?

看起来好像从来没有设置过
$I
,所以
switch()
语句默认为(令人惊讶的)default子句

把你的代码改成这样

        switch ($row['CatID']){
            case 1:
                $yourVar = "kunder";
                break;
        }   
switch语句查看当前变量。如果该变量恰好是数据库中的一列,则需要计算该特定变量


如果在切换之前为变量
$i
分配了
$row['catID']
中的数据,那么代码就可以工作。

看起来好像从未设置过
$i
,因此
switch()
语句默认为(令人惊讶的)default子句

把你的代码改成这样

        switch ($row['CatID']){
            case 1:
                $yourVar = "kunder";
                break;
        }   
switch语句查看当前变量。如果该变量恰好是数据库中的一列,则需要计算该特定变量


如果您在切换之前为变量
$i
分配了
$row['catID']
中的数据,那么您的代码就会工作。

打开变量,在这种情况下,
$row['catID']

switch ($row['CatID']){
    case 1:
        $i = "kunder";
        break;
    case 2:
        $i = "bokningar";
        break;
    ...

在本例中,打开变量
$row['CatID']

switch ($row['CatID']){
    case 1:
        $i = "kunder";
        break;
    case 2:
        $i = "bokningar";
        break;
    ...
然后使用案例1:,案例2:等等

然后使用案例1:,案例2:etc

只是一个猜测

switch ($row['CatID']) {
  case 1:
    $i = "kunder";
    break;
  // And so on
}
  • $i
    从未定义
  • $row[CatID]
    应该会触发一个通知,因为您忘记了
  • $row[CatID]=2
    设置该值,该值在上下文中没有多大意义
只是一个猜测

switch ($row['CatID']) {
  case 1:
    $i = "kunder";
    break;
  // And so on
}
  • $i
    从未定义
  • $row[CatID]
    应该会触发一个通知,因为您忘记了
  • $row[CatID]=2
    设置该值,该值在上下文中没有多大意义

$i dude的值是多少…$i dude的值是多少…+1,我假设OP对
开关的工作原理理解不好
$row[CatID]=1
是一个没有多大意义的变量赋值…+1,我假设OP对
开关的工作原理理解不好
$row[CatID]=1
是一个没有多大意义的变量赋值……这是海报几乎肯定要实现的。这是海报几乎肯定要实现的。