检查 PHP 变量是否为 NULL,是否为 NULL


Checking if PHP Variables are and aren't NULL

>更新:

以下代码

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(有关,但我不确定。

这样

就可以了。

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

要修复语法错误,请执行以下操作:

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

进一步建议:

  • 正确缩进代码,不要以这种方式使用单行:

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

  • 使用更具可读性的变量名称:

    $nowPlayingName
    $nowPlayingArtist
    

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

以下代码就足够了:

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