PHP:无法输出数字0

时间:2014-07-27 23:23:09

标签: php wordpress

我有一个输入框,用户可以在其中输入数字,然后该数字将输出到html页面。这一切都很好,除非你输入数字0它没有输出任何东西,但它需要说0.这是我为WordPress写的一个现场棒球比赛得分插件所以我需要" Inning 1&#34 ;阅读" 0"如果没有跑步得分。以下是我的代码的要点:

$t1Inning1 = ( $instance['t1Inning1'] ) ? $instance['t1Inning1'] : '-';

<div><?php echo $t1Inning1 ?></div>

<label for="<?php echo $this->get_field_id('t1Inning1'); ?>">
  <input id="<?php echo $this->get_field_id('t1Inning1'); ?>" 
  name="<?php echo $this->get_field_name('t1Inning1'); ?>"
  value="<?php echo esc_attr( $instance['t1Inning1'] ); ?>"
  maxlength="2" size="3" />
</label>

您可以在左中间的http://juniorregionals.com/看到输出。 &#39; - &#39;只是默认值,当你在插件中输入0并且保存它时它不会改变但是如果输入0则我需要它再读0。

如果我需要更具体,请告诉我

2 个答案:

答案 0 :(得分:3)

您在0上使用了三元运算符,这是一个假值,例如

echo 0 ? 1 : 2; // 2

也许您打算检查$instance["t1Inning1"]是否设置而不是麻痹?

$t1Inning1 = isset($instance['t1Inning1']) ? $instance['t1Inning1'] : '-';

答案 1 :(得分:0)

来自Wordpress Stack交换网站的人让我添加了一个精确的比较:

$t1Inning1 = isset( $instance['t1Inning1'] ) && $instance['t1Inning1'] !== '' ? $instance['t1Inning1'] : '-';

这完美无瑕。谢谢你的帮助@Marty。你实际上让球快速滚动。