我有一些用户提交的变量,我想在我的网站的不同部分显示如下:
<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业务是所有关于。
5条答案
按热度按时间pdsfdshx1#
6jygbczu2#
如果
isset()
不起作用,请尝试empty()
:如果设置了该值并且该值与
NULL
不同,则isset()
将发送TRUE
。而
empty()
将提供TRUE
(因此!empty()
将导致FALSE
),用于:*
""
(空字符串)0
(0为整数)"0"
(0作为字符串)NULL
FALSE
array()
(空数组)var $var;
(声明了一个变量,但在类中没有值)我假设你的
$key
被设置了,但是是空字符串。因此,empty()
是这里要走的路。mum43rcc3#
如果设置了$var,它将显示带有$var的段落,否则不显示任何内容
yrwegjxp4#
好吧,你的代码在上面,$key永远不会为空,因此pre_box将始终显示。您正在设置
$key = 'term'
,这将为它提供一个值,因此!empty($key)
或isset($key)
将始终为true。凯西的解决方案应该能给予你想要的结果。
qybjjes15#
isset()
用于检查变量是否已设置且不为null。如果变量存在且具有非空值,则返回true,否则返回false。另一方面,
empty()
用于检查变量是否为空值。如果变量没有值或具有被认为是空的值(例如null、false、0、''、array()或unset()),则返回true,否则返回false。