php 检查变量是否为空

brccelvz  于 2023-05-12  发布在  PHP
关注(0)|答案(5)|浏览(99)

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

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

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

<?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; ?>

但是,无论如何,这仍然显示内容。我想问题可能出在我定义$key变量的方式上。我试图拉数据从自定义字段设置在一个WordPress的职位-这就是什么$职位->ID业务是所有关于。

pdsfdshx

pdsfdshx1#

<?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
    }
?>
6jygbczu

6jygbczu2#

如果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; ?>

如果设置了该值并且该值与NULL不同,则isset()将发送TRUE
empty()将提供TRUE(因此!empty()将导致FALSE),用于:

*""(空字符串)

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

我假设你的$key被设置了,但是是空字符串。因此,empty()是这里要走的路。

mum43rcc

mum43rcc3#

<?php if( isset( $var ) ): ?><p><?php echo $var ?></p><?php endif; ?>

如果设置了$var,它将显示带有$var的段落,否则不显示任何内容

yrwegjxp

yrwegjxp4#

好吧,你的代码在上面,$key永远不会为空,因此pre_box将始终显示。您正在设置$key = 'term',这将为它提供一个值,因此!empty($key)isset($key)将始终为true。
凯西的解决方案应该能给予你想要的结果。

qybjjes1

qybjjes15#

isset()用于检查变量是否已设置且不为null。如果变量存在且具有非空值,则返回true,否则返回false。
另一方面,empty()用于检查变量是否为空值。如果变量没有值或具有被认为是空的值(例如null、false、0、''、array()或unset()),则返回true,否则返回false。

相关问题