我正在使用高级自定义字段插件创建一个WordPress网站。我有一套网球成绩表。在模板中,我显示如下字段:
<?php if(get_field('my_field')) : ?>
<?php echo get_field('my_field'); ?>
<?php endif; ?>
问题是有些分数是零,所以他们没有出现。我理解这是因为0基本上等于null,所以这个语句是false。
我发现并尝试过的一个解决方案是:
<?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; ?>
原因是在布尔检查的情况下,0、null,empty string和empty array的计算结果都为(但并不完全为(false。