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; ?>
原因是0、null、空字符串、空数组 全部评估为(但不完全)假,以防布尔检查。
我正在使用高级自定义字段插件创建一个 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、空字符串、空数组 全部评估为(但不完全)假,以防布尔检查。