检查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';}显示了一个解析错误。。发生什么事?