【问题标题】:How to not to display (echo) a default value in case no info is received?如果没有收到信息,如何不显示(回显)默认值?
【发布时间】:2014-03-21 18:20:27
【问题描述】:

大家好,我要在网站上解决一些问题,我要解决这个问题,有一个表格,其中有一个字段来显示一个人的年龄,年龄是通过减去日期来计算的该人出生(您在该字段中输入的此值)减去当前年份,但问题是如果您没有此人的出生日期,它默认显示当前年份会导致包含该人出生日期的变量is = 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ño de nacimiento”是出生年份,$edad 是减去出生年份得到的年龄 - 当然,我必须输入当年(2014 年),否则 {} 任何想法如何解这个谜?

【问题讨论】:

  • strcmp() == -1?这会做你想让它做的事情吗? == 0 会匹配。
  • 我没有创建这个代码,我被雇来修复一些东西。但是你的意思是如果我实现 == 0 而不是 == -1 那么如果在出生年份字段上没有引入任何内容,那么该字段根本不会显示,因为这就是我正在寻找的。​​span>

标签: php if-statement


【解决方案1】:

试试:

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

2000 应该是一个合理的默认值 - 在这种情况下,它会将他们的年龄默认为 14 岁,所以……也许可以试试1990。无论哪种方式最适合您的情况。

在较新版本的 PHP 中,您可以:

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

【讨论】:

  • 不明白这一点:2000 或 1990 会减去当前年份(2014 年),并且作为解决方案显示一个较低的数字,例如如果我放置 :1990,它将显示为默认年龄 24 岁,我不知道如果没有插入出生年份,我想要我想要的,然后根本不显示该字段...我该怎么做,thanx?
【解决方案2】:

好吧,伙计们,这对我有用,为了在管理员没有给出的情况下不显示年龄字段的顺序,我所做的是:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-01-12
    • 2011-05-12
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多