PHP检查var是0还是1,然后相应地打印


PHP Check if var is 0 or 1 and then print accordingly

我从数据库中得到一个0或1的整数。有了这些信息,我想把一个字符串改成Esea。这是我的代码,它不起作用:

<?php
$esea = '';
if (!empty($final_data['esea'])) {
    $esea = 'Esea'
}
?>

然后这就是我打印的地方:

<p><?php echo $esea ?></p>
$myvalue= '';
if (!empty($final_data['esea'])) {
    $myvalue= 'Foo'
} else {
    $myvalue= 'Bar'
}
echo $myvalue;

如果输出是Foo,则$final_data['esea']是以下之一:

  • "(空字符串)
  • 0(0为整数)
  • 0.0(0作为浮点值)
  • "0"(0作为字符串)
  • NULL
  • 虚假的
  • array()(空数组)

请参阅empty()文档。

如果输出是Bar,则$final_data['esea']不是上述值中的任何一个。

另请参阅此处和此处的评论。

还要注意,上面的代码可以重写为:

$myvalue= '';
if (empty($final_data['esea'])) {
    $myvalue= 'Bar'
} else {
    $myvalue= 'Foo'
}
echo $myvalue;

这在功能上是完全相同的。唯一的区别是emtpy(...)!empty(...)(当然还有if/else交换中的逻辑)。