Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查PHP变量是否为空_Php - Fatal编程技术网

检查PHP变量是否为空

检查PHP变量是否为空,php,Php,更新: 下面的代码 function findNowPlayingCondition () { if (isset($nowplayingname) && isset($nowplayingartist)) {$nowplayingcond = '1'; }; if (isset($nowplayingname) && !$nowplayingartist) {$nowplayingcond = '2'; }; if (!$nowplayingname &

更新:

下面的代码

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”

如果var_dumpisset$nowplayingname&&$nowplayingartist{$nowplayingcond='2'}


执行此命令时,我收到一个解析错误,我怀疑它与var_dumpisset有关,但我不确定。

你说得对,var_dump不应该在那里。var_dump用于调试

以下代码就足够了:

如果设置$nowplayingname{…}

就可以了

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的返回值将始终计算为falsy布尔值这一事实之外,该行没有任何逻辑错误

使用更可读的变量名:

$nowPlayingName
$nowPlayingArtist

你为什么在这里使用var_dump?删除它,错误就会消失。更重要的是,为什么要在var转储中使用isset?isset返回true或false,并为IF语句设计。如果需要,请将vardump iside放在ifstatement中that@JohnConde你的评论不太正确。缺少的分号是错误的原因。我是否应该只使用isset$nowplayingname并根据需要使用它@NoLiver92?我不知道为什么这被否决了。这显然是对的。我的意思是,这里的代码不会像您期望的那样工作,var_dump总是返回一些false-y,但这是错误的原因。我有if!空$nowplayingname&!isset$nowplayingartist{$nowplayingcond='2';}显示了一个解析错误。。发生什么事?