如果是那么逻辑

时间:2012-02-22 06:53:18

标签: php

我对逻辑参数有一点问题

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

我已将其翻译成代码如下

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

但我告诉我这不正确。

[UPDATE] - 表示无效 +表示非空

2 个答案:

答案 0 :(得分:0)

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

如果要在您的情况下返回null(例如,如果year为null,month和day不为null(第一种情况)),请使用此代码。因为如果我理解你的问题是正确的,那么当year为null时你无论如何都要返回null,而当它不为null时你只想在月为空且日不是的时候返回null。

答案 1 :(得分:0)

@mesiesta - 实际上你可以将所有这些条件翻译成:

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

表中没有“覆盖”一些选项,其中一个我在上面的代码中显示,另外三个选项都是当年份不为空时