【问题标题】:Problem with ifelse in PHP scriptPHP脚本中的ifelse问题
【发布时间】:2010-09-06 06:15:23
【问题描述】:

我有一个工作分页脚本,它显示的数据很少出现问题。

但是,我遇到的问题是尝试让我的数据不为空时将其括在引号中。

这是我的分页脚本的一部分:

//This function shows the data
public function display()
{
    if(date('Y-m-d') == date('Y-m-d', $this->airdate)) $dateFormat = 'g:ia';
    elseif(date('Y') == date('Y', $this->airdate)) $dateFormat = 'F jS - g:ia';
    else $dateFormat = 'F jS, Y - g:ia';

    echo '<tr>'."\n".
         '  <td><strong>'.$this->program.'</strong></td>'."\n".
         '  <td>showing on '.$this->channel.'</td>'."\n".
         '  <td>'.date($dateFormat, $this->airdate).'</td>'."\n".
         '  <td><b>'.$this->episode.'</b></td>'. "\n".
         '  <td>'.$this->setReminder.'</td>'."\n".
         '</tr>'."\n";
}

然而,这是$this->情节。我遇到问题的部分。

数据正确渲染:

Episode Name
<null>
Episode Name 2

但我希望它是这样的:

"Episode Name"
<null>
"Episode Name 2"

我试过了:

        echo '<tr>'."\n".
         '  <td><strong>'.$this->program.'</strong></td>'."\n".
         '  <td>showing on '.$this->channel.'</td>'."\n".
         '  <td>'.date($dateFormat, $this->airdate).'</td>'."\n".
         '  <td><b>"'.$this->episode.'"</b></td>'. "\n".
         '  <td>'.$this->setReminder.'</td>'."\n".
         '</tr>'."\n";
}

但是格式出来的是:

"Episode Name"
"<null>"
"Episode Name 2"

这不是我预期的结果。

我不确定正确的解决方案是什么 - ifelse 是最好的解决方案,如果是,您会针对这个问题推荐什么代码?

【问题讨论】:

    标签: sql pagination if-statement


    【解决方案1】:

    您可以通过函数传递值,该函数会在必要时添加引号。

    function encloseNullWithQuotes($a)
    {
        if ($a == "<null>")
            return $a;
        return '"'.$a.'"';
    }
    

    然后,将代码中的$this-&gt;episode 更改为encloseNullWithQuotes($this-&gt;episode)

    不完全确定剧集是否是文字字符串&lt;null&gt;...如果不是,您也可以在函数中测试 NULL 或类似的东西。

    【讨论】:

    • 代表屏幕上的一个空白区域,希望为您澄清。
    【解决方案2】:

    在回声之前做

    $this->episode = ($this->episode == '<null>')? $this->episode : '"' . $this->episode . '"';
    

    然后在 echo 中做

    '  <td><b>'.$this->episode.'</b></td>'. "\n".
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      相关资源
      最近更新 更多