Ich habe dieses Stück Code:Warum behandelt PHP das Dangling sonst anders?
$a = false;
if ($a)
echo 'A'; if (false) echo 'B';
else echo 'C';
Die else
Aussage erscheint auf Änderungen „belongship“ je nach dem Wert von $a
. Wenn es true
ist, so scheint es, sie zu interpretieren als:
if ($a)
{
echo 'A';
if (false)
{
echo 'B';
}
else
{
echo 'C';
}
}
und Drucke AC
. Aber wenn $a = false
, so scheint es zu interpretieren werden als:
if ($a)
{
echo 'A';
if (false)
{
echo 'B';
}
}
else
{
echo 'C';
}
und Drucke C
.
Fehle ich hier etwas?
Es gibt keine zweideutigen Code in Ihrem ersten Beispiel – zerkms
Fragen wie diese sind warum sollten Menschen Klammern in allen außer den einfachsten Situationen verwenden. (und auch dann meiner Meinung nach) – Corbin
Hör auf und denke darüber aus einer staatlichen Perspektive und es wird offensichtlich, warum deine zwei Schnipsel (diejenigen, die {}) passiert sind. Das ist nicht so, wie PHP es tatsächlich sieht, das zufällig logisch dem Fluss entspricht, wie PHP es sieht (bedingt durch $ a). – Corbin