知道在 PHP 中,我们可以忽略条件块中的大括号,在“if”、“else if”或“else”标记之后只有一个函数/行,如下所示:
if (myVal == "1")
doThis();
else if (myVal == "2")
doThat();
else
doNothing();
我在问自己是否有这样的事情:
if (myVal == "1")
doThis();
else
if (myVal2 == true)
doThat();
else
doNothing();
PHP 将其视为:
if (myVal == "1")
{ doThis(); }
else
{
if (myVal2 == true)
{ doThat(); }
else
{ doNothing(); }
}
或这个 :
if (myVal == "1")
{ doThis(); }
else if(myVal2 == true)
{ doThat(); }
else
{ doNothing(); }
简短版本: else 之后的“换行符”是否足以将其与一个“if”语句分开,还是会被视为一个“else if”
编辑我自己的问题以确认我的猜测:
if(false)
echo "1";
else
if (false)
echo "2";
else
echo "3";
正在显示“3”,而以下由于找到两个 else 语句而引发错误:
if(false)
echo "1";
else
if (false)
echo "2";
else
echo "4";
else
echo "3";
所以断线似乎没有任何区别,唯一重要的是“if”和“else”计数。