Perché non funzionerà? Appare Errore di analisi: errore di sintassi, inaspettata ':' ... on line 7if {} in if: endif
$a = 0; $b = 1; $c = 3; $d = 4;
if ($a == $b):
if ($b == $c) {
// something
}
else:
$c = $a;
endif;
Ma se cambio a (appena aggiunto istruzione else):
$a = 0; $b = 1; $c = 3; $d = 4;
if ($a == $b):
if ($b == $c) {
// something
} else {
// something
}
else:
$c = $a;
endif;
Funziona benissimo.
Perché è quello? non è un bug PHP? O c'è una regola se ... dovrei saperlo?
In ogni caso, sto usando la versione di PHP 5.3.3.
Si prega di incollare i numeri di riga – JAM
http://stackoverflow.com/questions/564130/difference-between-if-and-if-endif – Pheonix
Interessante - e una buona illustrazione del motivo per cui probabilmente non si dovrebbe mescolare il flusso di stili di template dichiarazioni di controllo con quelle regolari rinforzate. (o usa lo stile di template _at all_ a meno che tu non stia codificando una visualizzazione HTML ... ma questa è un'opinione) –