3

我有以下声明,已进行了总结。我想知道如何在一个案例中显示两个变量。

如图所示,当满足 date_avl 和 pro_qty 的标准时,我希望 pro_st = 0,但不确定编码它的正确方法。

case $insert_pro :
    case $pro_exists_row['date_aval'] == '0000-00-00' : and $sql_data['pro_qty'] == 0 :
    case $sql_data['pro_date_avl'] > date('Y-m-d') :
      $sql_data['pro_st'] = '0' ;
      break ;
    default :
      $sql_data['pro_st'] = '1' ;

任何建议将不胜感激。

4

2 回答 2

1

您看起来需要一个 if 或可能的 if/elseif 语句:

if (( $pro_exists_row['date_aval'] == '0000-00-00' && $sql_data['pro_qty'] == 0 ) || $sql_data['pro_date_avl'] > date('Y-m-d'))
{
    // This is the first two conditions of you case statement - either of the conditions are met
    $sql_data['pro_st'] = '0' ;
}
else
{
    // This is he default as neither of the others were met...
    $sql_data['pro_st'] = '1' ;
}
于 2012-08-29T12:18:29.830 回答
1

您只能使用 switch 语句来检查一个 var 的值,而不是像您尝试做的那样检查复合条件。您可能需要使用 if 语句。

于 2012-08-29T12:15:53.463 回答