【发布时间】:2021-09-18 23:43:52
【问题描述】:
我正在使用高级自定义字段插件创建一个 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)”。
【问题讨论】:
-
这不是真的:
0 basically equals null,0 是 int。或字符串 0。数字类型。对其执行 var_dump 以查看其中的内容。 -
列出所有可能获得的值及其类型。表达哪些价值观应该是真实的,哪些是虚假的。查看 PHP 比较规则是否符合您的要求。
-
如果只想排除空字符串,那么在if里面添加对应的测试。
标签: php wordpress if-statement advanced-custom-fields zero