2012-02-22 56 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个选项是当年不为零时