3

要約した次のステートメントがあります。1つのケースで2つの変数を表示する方法を考えていました。

示されているように、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ステートメントは、1つの変数の値をチェックするためにのみ使用でき、実行しようとしているような複合条件をチェックするためには使用できません。おそらくifステートメントを使用する必要があります。

于 2012-08-29T12:15:53.463 に答える