如果没有收到信息,如何不显示(回显)默认值?

时间:2014-02-20 16:38:42

标签: php if-statement

嗨,伙计们,我必须在网站上修复一些东西,我必须解决这个问题,有一个表格,其中有一个字段显示一个人的年龄,年龄是通过减去日期计算的这个人出生了(这个你在该领域输入的值)减去当前年份,但问题是如果你没有这个人的出生日期,它默认显示当前年份导致持有出生日期的变量是= 0因为没有插入所以,它显示在页面上2014年,所以我想要它,如果没有显示然后根本不显示该字段,否则{}解决方案是需要所以任何想法如何在这里解决它是代码。

if (strcmp ( $title , "Año de nacimiento" ) ==-1)
{
    if($edad!=1)
    {
        $fecha = date("Y");
        $edad=$fecha-$c;

        echo "<div class='uk-grid' data-uk-grid-margin='' >";
        echo "<div class='uk-width-medium-7-10'><b>";
                  echo JText::_('ADSMANAGER_CAMPO_EDAD');
                  echo "</b></div>";
        echo "<div class='uk-width-medium-3-10'>$edad a&ntilde;os";
        echo "</div></div>";

        $edad=1;
    }
}

顺便说一句,“AñodeNacimiento”是出生年份,$ edad是减去出生年份所得的年龄 - 当前年份(2014年)当然我必须放置和其他{}任何想法如何解决这个谜语?

2 个答案:

答案 0 :(得分:1)

尝试:

$edad = $fecha - ($c ? $c : 2000);

2000应该是一个合理的默认值 - 在这种情况下,它会将其年龄默认为14年,所以...也许尝试1990。无论什么最适合你的情况。

在较新版本的PHP中,您可以执行以下操作:

$edad = $fecha - ($c ?: 2000);

答案 1 :(得分:0)

好吧,伙计这对我们工作,为了给出不显示年龄字段的顺序,以防管理员没有给出,我做的是这样:

$fecha = date("Y");
 $edad = $fecha - $c;

if($edad!= $fecha){same logic as before}

如您所见,我将年龄计算放在if {}之前,如果年龄计算不等于当前日期,则显示带有年龄的字段,否则表示年龄相同(当前日期)是没有给出出生日期的默认年龄)作为当前日期所以不显示任何东西或因为没有给出它不显示它。无论如何,我很自豪我自己解决了这个问题!