私は<<<EOD
いくつかのデータを出力するために使用しています。私の質問は、<<<EOD
構文内で php if 条件を使用する方法ですか? このように使用できますか
<<<EOD
<h3>Caption</h3>
if(isset($variablename))
{
echo "...some text";
}
else
{
echo "...some text";
}
EOD;
私は<<<EOD
いくつかのデータを出力するために使用しています。私の質問は、<<<EOD
構文内で php if 条件を使用する方法ですか? このように使用できますか
<<<EOD
<h3>Cap
私は<<<EOD
いくつかのデータを出力するために使用しています。私の質問は、<<<EOD
構文内で php if 条件を使用する方法ですか? このように使用できますか
<<<EOD
<h3>Caption</h3>
if(isset($variablename))
{
echo "...some text";
}
else
{
echo "...some text";
}
EOD;
これを、name
をパラメーターとして受け取るストアド プロシージャに変換する必要があります。
ここから読み始めるのが良いでしょう。http://msdn.microsoft.com/en-us/library/ff648339.aspx
いいえ、<<<
ブロック内のすべて (「HEREDOC」として知られている) は文字列であるためです。
質問にコードを書くと、PHPコードを含む文字列を書くことになりますが、これはあなたが望むものではありません(願っています)。
HEREDOC の外側でロジックを実行し、その中で単純な変数を使用します。
if(isset($variablename)) {
$outputVar = "...some text";
} else {
$outputVar = "...some text";
}
print <<<EOD
<h3>Caption</h3>
{$outputVar}
EOD;
二重引用符で囲まれた文字列では、ステートメントではなく式のみを使用できます。
ただし、複雑な変数式には回避策があります。ユーティリティ関数を事前に宣言し、変数に代入します。
$if = function($condition, $true, $false) { return $condition ? $true : $false; };
次に、次の方法で利用します。
echo <<<TEXT
content
{$if(isset($var), "yes", "no")}
TEXT;
いいえ、ただし変数置換を使用できます
if(isset($variablename))
{
$var "...some text";
}
else
{
$var "...some text";
}
<<<EOD
<h3>Caption</h3>
$var
EOD;
いいえ。ヒアドキュメント構文を使用した補間は、二重引用符を使用した場合と同じです。変数またはクラス メソッドの単純な補間を行うことができますが、それだけです。
このコード
$foo = 'bar';
<<<EOD
$foo
baz($foo);
EOD;
出力します
bar
baz(bar)
<<<EOD
<h3>Caption</h3>
EOD;
if(isset($variablename))
{
echo "...some text";
}
else
{
echo "...some text";
}