首页 > 解决方案 > 在 PHP 中包含文本并在没有值时隐藏它

问题描述

我有这段代码:

<h4>Size: <?php the_field('size'); ?></h4>
<h4>Reference: <?php the_field('reference'); ?></h4>

如果 和 没有值sizereference则显示文本“尺寸”和“参考”。所以我想在 PHP 函数中添加文本“Size”和“Reference”,如果没有值,size则不reference显示“Size”和“Reference”。

对不起,我知道这是一个基本的东西,但我只是从 PHP 开始!提前致谢。

标签: php

解决方案


这是一种方法:

<?php
if ($size = the_field('size')) {
    echo "<h4>Size: $size</h4>";
}
if ($reference = the_field('reference')) {
    echo "<h4>Reference: $reference</h4>";
}
?>

另一种方式:

<?php if ($size = the_field('size')):?>
    <h4>Size: <?=$size?></h4>
<?php endif?>
<?php if ($reference = the_field('reference')):?>
    <h4>Reference: <?=$reference?></h4>
<?php endif?>

或者如果您启用了短开放标签:

<?if ($size = the_field('size')):?>
    <h4>Size: <?=$size?></h4>
<?endif?>
<?if ($reference = the_field('reference')):?>
    <h4>Reference: <?=$reference?></h4>
<?endif?>

上述所有解决方案都将 0 和“0”视为没有值,因此没有显示任何内容。如果您需要显示 0 的值,则需要执行以下操作:

if (($size = (string)the_field('size'))!=="") {
    echo "<h4>Size: $size</h4>";
}
if (($reference = (string)the_field('reference'))!=="") {
    echo "<h4>Reference: $reference</h4>";
}

这会将 0 转换为字符串并变为“0”,与空字符串相比,它是不相等的。如果强制转换为字符串,则 false 和 null 将变为空字符串。


推荐阅读