我有这段代码:
$a = false;
if ($a)
echo 'A'; if (false) echo 'B';
else echo 'C';
Run Code Online (Sandbox Code Playgroud)
该else声明似乎根据价值改变了"属于" $a.如果是true,它似乎将其解释为:
if ($a)
{
echo 'A';
if (false)
{
echo 'B';
}
else
{
echo 'C';
}
}
Run Code Online (Sandbox Code Playgroud)
和打印AC.但如果$a = false,似乎将其解释为:
if ($a)
{
echo 'A';
if (false)
{
echo 'B';
}
}
else
{
echo 'C';
}
Run Code Online (Sandbox Code Playgroud)
和打印C.
我在这里错过了什么吗?
Mat*_*hew 11
你的第一个代码是
$a = false;
if ($a) {
echo 'A';
}
if (false) {
echo 'B';
}
else {
echo 'C';
}
Run Code Online (Sandbox Code Playgroud)
当您不使用大括号时,只有下一个语句(语句,而不是行)作为该控件结构的一部分执行.它并不含糊,因为这种行为在编程语言中有明确的定义.