PHP ヒアドキュメント内で配列のデータを表示


お問い合わせメールフォームを作っていまして、チェックボックスがあるのですが、チェックが入ったものだけ 送信確認メールで表示されます。

問題なく表示されたのですが(以下はヒアドキュメント内)

ご予約
{$_SESSION['reservation'][0]}
{$_SESSION['reservation'][1]}
{$_SESSION['reservation'][2]}
{$_SESSION['reservation'][3]}

お客様のお名前
{$_SESSION['name']}

もしチェックが全部入っていたら、きれいに表示されるのですが、全然チェックが入っていないと、たくさん改行が入ってしまいすごくぶかっこうなんです。ヒアドキュメント内でif文とか使えたら言いんですけどね~

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/10/27 15:27:48
  • 終了:2010/10/29 13:44:54

ベストアンサー

id:HowAreYou No.1

HowAreYou回答回数91ベストアンサー獲得回数172010/10/27 16:21:51

ポイント42pt

そこだけ別にまとめておくとか……

<?php
$rsv = @join($_SESSION['reservation'], "\n") ;

echo <<<OUT
ご予約
$rsv

お客様のお名前 
{$_SESSION['name']}
OUT;
id:goodbabies

ありがとうございます!やりたかったのはまさにこれです!

2010/10/27 16:37:33

その他の回答(1件)

id:HowAreYou No.1

HowAreYou回答回数91ベストアンサー獲得回数172010/10/27 16:21:51ここでベストアンサー

ポイント42pt

そこだけ別にまとめておくとか……

<?php
$rsv = @join($_SESSION['reservation'], "\n") ;

echo <<<OUT
ご予約
$rsv

お客様のお名前 
{$_SESSION['name']}
OUT;
id:goodbabies

ありがとうございます!やりたかったのはまさにこれです!

2010/10/27 16:37:33
id:a-kuma3 No.2

a-kuma3回答回数4487ベストアンサー獲得回数18562010/10/27 16:35:08

ポイント28pt

チェックボックスの部分を、いったん文字列に持っておいて、空行を削除してからヒアドキュメントで展開する、というのではどうだろう。

↓こんな感じで。

$reservation_list = <<<RSV
{$_SESSION['reservation'][0]}
{$_SESSION['reservation'][1]}
{$_SESSION['reservation'][2]}
{$_SESSION['reservation'][3]}
RSV;

$reservation_list = ereg_replace("(\r|\n|\r\n)+", "\n", $reservation_list);

echo <<<MSG
ご予約
{$reservation_list}

お客様のお名前
{$_SESSION['name']}
MSG;
</pre>
id:goodbabies

空行を先に削除!なるほど!

2010/10/27 16:37:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません