检查变量是否为空

Tho*_*mas 3 html php forms

我有一些用户提交的变量,我想将它们显示在网站的不同部分,如下所示:

<div class="pre_box">Term: </div>
<div class="entry"><?php $key='term'; echo get_post_meta($post->ID, $key, true); ?></div>
Run Code Online (Sandbox Code Playgroud)

有时,这些变量可能为空,在这种情况下我不想显示空变量的标签。在上面的示例中,我想隐藏该<div class="pre_box">Term: </div>部分。有没有一些简单的方法来检查像上面这样的 php 变量是否为空并阻止显示标签?

更新,这里是使用 !empty 的代码

<?php $key='term' ?>
<?php if( !empty( $key ) ): ?> 
<div class="pre_box">Term: </div>
<div class="entry">
<?php echo get_post_meta($post->ID, $key, true); ?>
</div> 
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

但是,无论如何,这仍然会显示内容。我认为问题可能出在我定义 $key 变量的方式上。我试图从 WordPress 帖子中设置的自定义字段中提取数据 - 这就是 $post->ID 业务的全部内容。

Fel*_*ing 5

如果isset()不起作用,请尝试empty()

<?php if( !empty( $key ) ): ?> 
    <div class="pre_box">Term: </div>
    <div class="entry">
         <?php echo get_post_meta($post->ID, $key, true); ?>
    </div> 
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

isset()TRUE如果该值已设置且值不同于 ,则将传送NULL

empty()相反,将交付TRUE(因此!empty()结果为FALSE):

  • ""(空字符串)
  • 0(0 作为整数)
  • "0"(0 作为字符串)
  • NULL
  • FALSE
  • array()(一个空数组)
  • var $var;(声明了一个变量,但在类中没有值)

我假设你$key已经设置但有一个空字符串。因此,这empty()就是去这里的方法。


Cas*_*Chu 5

<?php 
    $post_meta = get_post_meta($post->ID, 'term', true);
    if (!empty($post_meta)) {
?>
        <div class="pre_box">Term: </div>
        <div class="entry"><?php echo $post_meta; ?></div>
<?php
    }
?>
Run Code Online (Sandbox Code Playgroud)