私はPHPの学習を始めましたが、PHPのドキュメントではバグが報告されていましたが、レポートページではバグではないとのことでした。 コードは次のとおりです。double semicolon in php
$bar = 'bar';
$foo = 'foo';
if (isset($bar)):
if (isset($foo)) echo "Both are set.";
elseif (isset($foo)):
echo "Only 'foo' is set.";
else:
echo "Only 'bar' is set.";
endif;
我々は、中括弧内の場合はネストされたコードを置く場合は、再度、エラーが起こっています。 「:」
if (isset($bar)) :
if (isset($foo)) {
echo "Both are set.";
}
elseif (isset($foo)) :
echo "Only 'foo' is set.";
else :
echo "No one is set.";
endif;
上記のコードは、予期しないエラーが発生してレポートページの理由は、それが上記のコードとPHPで使用される混合構造だったバグではありませんこれを言っ許可し、私はそれを受け入れたが、何ていませんこのコードは間違っています。 しかし、ネストされたif文の最後に別のセミコロンを追加すると、完全に機能します。 またはif文の末尾にelse文を追加すると、if文のエラーがなくなります。このような 何か:
if (isset($bar)) :
if (isset($foo)) {
echo "Both are set.";
} else {
echo "this is else";
}
elseif (isset($foo)) :
echo "Only 'foo' is set.";
else :
echo "No one is set.";
endif;
誰もが私はこの混合構造は本当に悪いです知っているが、問題を理解することが、別のミスを防ぐことができます助け場合、私は感謝します。 ありがとうございました。
あなたが話しているページへのリンクを追加してもよろしいですか? –
私は、あなたが中括弧と '' '' if ''文を混合しないようにするべきだと思います。それは[documentation](http://php.net/manual/en/control-structures.alternative-syntax .php)states –
コロンが 'elseif'のように読み込まれるのは、コロンで表記された最初の' if'ステートメントの一部ではなく、実際にはコロンが二番目の 'if'の中にあるということです。このような問題を避けるための最善の策は、コントロール構造の唯一のスタイルのネストです。 – MCMXCII