2012-02-22 71 views
0

我有一個關於一個小問題,邏輯論證邏輯,如果再別的

Year month day 
null +  + 
null -  + 
null +  - 
nonnull -  + 

我已經把它翻譯成代碼如下

if($year==null) 
    { 
     if($day!=null && $month!=null) 
     { 
      return null; 
     } 
     elseif($month!=null || $day!=null) 
     { 
      return null;    
     }    
    } 

但我告訴我,這是不正確的。

[更新] - 意味着空 +是指非空

+3

a)「年」不爲空的情況如何?和b)你的問題不清楚 - 你應該解釋你怎麼翻譯這張表,因爲它不明顯... – alfasin 2012-02-22 06:55:14

+1

不知道你在這裏完成什麼,或什麼不工作。你能詳細說明你的問題嗎? – GordonM 2012-02-22 06:56:30

+0

你的桌子是什麼意思?看起來,空值,優缺點都是輸入。你應該輸出什麼? – shift66 2012-02-22 06:56:30

回答

0
if($year==null || ($day!=null && $month==null)) 
{ 
    reurn null;  
} 

如果你想在你的情況下返回null(例如,如果今年是空,月,日不爲空(第一種情況))使用此代碼。因爲如果我理解你的問題是正確的,那麼當year爲null時,無論如何你都希望返回null,當它不爲null時,只有當month爲null而day不爲null時纔想返回null。

0

@mesiesta - 實際上可以將所有這些條件轉化爲:

if ($year==null) { 
if ($day==null && $month==null) { 
    return "undefined"; 
} 
else { 
    return null; 
} 

表不「捂」幾個選項,其中一個我在上面的代碼表明,其他都是其他3個選項是當年不爲零時