PHP if 语句:零与 'empty'

PHP if statement: Zero vs 'empty'

我正在使用高级自定义字段插件创建一个 WordPress 网站。我有一组网球得分结果字段。在模板中,我这样显示这些字段:

<?php if(get_field('my_field')) : ?>
   <?php echo get_field('my_field'); ?>
<?php endif; ?>

问题是有些分数是零,所以他们没有出现。我理解这是因为0基本上等于null,所以这个说法是错误的。

我找到并尝试过的一个解决方案是:

<?php if(get_field('my_field') !== false) : ?>
   <?php echo get_field('my_field'); ?>
<?php endif; ?>

但是,这意味着现在也会显示空字段,这是不可取的,因为有很多字段在空时会被隐藏。

所以,我的问题是,有没有一种方法可以表达允许零的 if 语句,同时如果字段为空则仍然返回 false?请注意,有些分数不是纯数字,其值为“6(1)”。

为了检查空字符串,您必须在 if 条件中明确检查它们。

<?php if(get_field('my_field') !== '') : ?>
   <?php echo get_field('my_field'); ?>
<?php endif; ?>

原因是0null空字符串空数组 全部评估为(但不完全)假,以防布尔检查。