dポイントプレゼントキャンペーン実施中!

ヒアドキュメントの中で演算子を使いたいのですが、うまくいきません。どう書けば良いのでしょうか?

下記のような感じの時、while文のヒアドキュメントの中で、
$k++;
を実行したいです。


$body= "<div>";
$k=1;
if (true) {
  $body .="処理";
   while ($result = mysql_fetch_array(○○)) {
$body .= <<< EOF
   処理
   $k++;
EOF;
    }
}
body .="</div>"



{$k++;}で括ったりしてみたのですが、うまくいきません。
$k++;だけ実行したいです(出力はしたくない)


最終的には、
ヒアドキュメントの中で、
$k++;
を実行できなくても、

while文の中で、$k++;
できれば良いのですが……

A 回答 (2件)

無名関数(クロージャ)を利用すれば一応可能ではあります。

ただよほどの理由がない限り素直にヒアドキュメントの外でやるのがよろしいかと。
一応▼

//変数に関数を定義。}の後ろに;が付きます。
$mycount = function(&$k){$k++;};
$k = 1;
$body = <<<EOF
{$mycount($k)}
{$mycount($k)}
{$mycount($k)}
EOF;
echo "k=== $k";


無名関数
http://php.net/manual/ja/functions.anonymous.php
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2012/03/12 22:17

> (出力はしたくない)



> $k++;
> を実行できなくても、

> while文の中で、$k++;
> できれば良いのですが……
それなら、ヒアドキュメントの中に書く必要性がまったく持ってみじんも無いよね?
なぜそこに書こうとした><

普通に、ヒアドキュメントの外、whileブロックの中に書いてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございました

>なぜそこに書こうとした><
う……

>普通に、ヒアドキュメントの外、whileブロックの中に書いてください。
アドバイスありがとうございましたー

お礼日時:2012/03/12 22:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!