日本PHPユーザ会 掲示板

日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。

日本PHPユーザ会 掲示板 » PHP事はじめ » ヒアドキュメントについて

ヒアドキュメントについて

ページ: 1

投稿者 投稿
会員
登録者: 3 2008
返信数: 4
初歩的な質問なのですが、宜しくご教授願います。

■したいこと
→echoの部分をヒアドキュメントで書き換えたい。

------------------------------------------------
echo "<td>" .cnv_enc($row["nam"],$enc_disp,$enc_db). "</td>"

データベース内の文字コードを関数を使って変換して表示させる
-------------------------------------------------

この文をヒアドキュメントを使って書くとすると【{}】をどうくくればいいのでしょうか?
いろいろ試してみたのですが下記のエラーが出るか、普通に文字コードが表示される。
という状態なんです・・・

Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in

宜しくお願いいたします。
会員
登録者: 10 2007
返信数: 71
ヒアドキュメントはダブルクォーテーションで囲むのと同じ効果で、変数だけが展開されます。つまり、その中に関数などのコードを含めようとしてもそのまま表示されたりします。
この場合では
$result_cnv_enc = cnv_enc($row["nam"],$enc_disp,$enc_db);
echo <<<HERE
<td>{$result_cnv_enc}</td>
HERE;
と、一旦変数に入れるか、ヒアドキュメントをあきらめるしかなさそうです。この程度であれば私はよく次のように書いたりしますが。
$result_cnv_enc = cnv_enc($row["nam"],$enc_disp,$enc_db);
$result_cnv_enc = "<td>{$result_cnv_enc}</td>";
echo $result_cnv_enc;

もっといい方法があったら私にも教えて下さい。 :)
会員
登録者: 3 2008
返信数: 4
>kona@m 様
 
 ご回答ありがとうございます。
 現在、始めたばかりで入門の書籍を使ってやっています。

 とりあえず、一旦変数に入れる方法でやっていこうと思います。
 ありがとうございました。

ページ: 1

日本PHPユーザ会 掲示板 » PHP事はじめ » ヒアドキュメントについて

日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています