检查PHP变量是否为NULL

时间:2013-11-17 17:21:16

标签: php

更新:

以下代码

function findNowPlayingCondition () {
if (isset($nowplayingname) && isset($nowplayingartist)) {$nowplayingcond = '1'; };
if (isset($nowplayingname) && !$nowplayingartist) {$nowplayingcond = '2'; };
if (!$nowplayingname && isset($nowplayingartist)) {$nowplayingcond = '3'; };
if (!$nowplayingname && !$nowplayingartist) {$nowplayingcond = '4'; };
echo "$nowplayingcond";
}

总是以'4'回来,再次,我很难过。

====================

我正在尝试创建一个PHP if / then语句如果 $ nowplayingname中有一个有效字符串,并且$ nowplayingartist 不是设置,则为'',或 NULL ,它将$ nowplayingcond设置为'2'。

if (var_dump(isset($nowplayingname)) && !$nowplayingartist) {$nowplayingcond = '2'};

执行此操作时出现解析错误,我怀疑它与var_dump(isset(有关,但我不确定。

3 个答案:

答案 0 :(得分:1)

这样做。

if(!empty($nowplayingname) && !isset($nowplayingartist))
{
$nowplayingcond = 2;
}

答案 1 :(得分:1)

修复语法错误:

if (var_dump(isset($nowplayingname)) && !$nowplayingartist) {$nowplayingcond = '2';};
                                                                            // ---^

进一步的建议:

  • 正确缩进代码,不要使用单行代码:

    if (var_dump(isset($nowplayingname)) && !$nowplayingartist) {
      $nowplayingcond = '2';
    }
    
  • 为什么在IF语句中使用var_dump()?除了var_dump()的返回值总是计算为假布尔值这一事实之外,该行没有意义(逻辑错误)。

  • 使用更易读的变量名称:

    $nowPlayingName
    $nowPlayingArtist
    

答案 2 :(得分:-2)

你是对的,var_dump不应该在那里。 var_dump()用于调试。

以下代码就足够了:

if(isset($nowplayingname)) { ... }