如何解决PHP if 语句:零与“空”
我正在使用高级自定义字段插件创建一个 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; ?>
原因是0、null、空字符串、空数组都计算为(但不完全) false,以防进行布尔检查。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。