首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

if()判断变量是不是为空的两种方法,哪种更好?有区别吗

2013-02-24 
if()判断变量是否为空的两种方法,哪种更好?有区别吗?学习研究wordpress时,有以下两种判断自定义域是否为空

if()判断变量是否为空的两种方法,哪种更好?有区别吗?
学习研究wordpress时,有以下两种判断自定义域是否为空的方法,都用到了IF()。初学php,不知这两种方法有何区别,哪种效率更高一些?
// show the first value of the specified key inside a loop
<?php 
$key_1_value = get_post_meta($post->ID, 'key_1', true);
// check if the custom field has a value
if($key_1_value != '') {
  echo $key_1_value;

?>

// display an image based on custom-field value, if it exists

<?php $image = get_post_meta($post->ID, 'url', true);

if($image) : ?>

<img src="<?php echo $image; ?>" alt="if()判断变量是不是为空的两种方法,哪种更好?有区别吗" />

<?php endif; ?>
[解决办法]

引用:
谢谢。按照if($image)的方法, if(key_1_value)不是更简洁吗?if($image)这种只把变量作参数的方法,可取吗?


if($image)和if(!$image)是完全相反的概念
举例来说

$find=1;
if($find){
echo "find不为空";
}else{
echo "find为空";
}
//相当于
if(!$find){
echo "find为空";
}else{
echo "find不为空";
}

也就是$find和!$find中if与else中的内容正好相反



[解决办法]
<?php
if($key_1_value!='') {//这里是指$key_1_value只要不为空就可以,$key_1_value=0也是不为空 所有$key_1_value=0也是可以通过的
   echo $key_1_value;
 } 
if($key_1_value) {//这里是指$key_1_value为真,所谓真就是$key_1_value不能为空也不能为0,这个条件比上面多出一个$key_1_value不能为0
   echo $key_1_value;
 } 
 //上面两个方法功能有点差别的,看你需求了
?>

热点排行