- ベストアンサー
文字列連結がうまくいかない!ループ処理でdiv要素を作成する方法は?
- 文字列連結がうまくいかない状況で、ループ処理を使用して複数のdiv要素を作成したいと考えています。具体的には、以下のコードをループさせたいです。
- しかし、このままではうまくいかないようで、何か間違いがあるようです。正しいコードを教えていただけますか?
- 実現したい目標は、「tab3-1」から「tab3-5」というIDを持つdiv要素を作成し、その中にtestfunc関数を実行することです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
定数で設定した値を、動的に扱いたい場合は、可変変数のように扱うことが出来ないので、 http://jp2.php.net/manual/ja/function.constant.php constant関数を使います。 <?php testfunc(constant('SITE3' . $i), 1, 1); ?> ですね。
その他の回答 (1)
- bm_hiro
- ベストアンサー率51% (200/388)
ざっとしか見てませんが、とりあえず、ケアレスミスその1 $i と するべき所が、$が無く、i だけになってます。 あと、↓これ実行したらParse Error 出るんじゃないかな~?とか思ったり。 testfunc(("SITE3_".i."),1,1)"; 多分、こうしたほうが良いかも。 $a = "SITE3_" . $i; testfunc($a , 1 , 1); あと、これは 個人的に言いたいこと。 \" は 見づらいから シングルクォートにして欲しい。。 どうしても、ダブルクォートを使いたいなら 止めはしませんけども。
補足
回答ありがとうございます。 >$i と するべき所が、$が無く、i だけになってます。 気が付きませんでした。 おかげで、だいぶ前進したのですが、 まだ分からないとこがあります。 分からないとこだけ、切り出してみました。 <?php define("SITE3_1", "http://www.yahoo.co.jp/"); for( $i = 1; $i < 2; $i ++ ){ $a = "SITE3_".$i; var_dump($a); var_dump(SITE3_1); } ?> これを実行すると、上の方の表示結果が、"SITE3_1"となります。 両方の表示結果を、"http://www.yahoo.co.jp/" とするには、 どうすればよいでしょうか?
お礼
うまくいきましたッ! ご回答いただいたみなさん、ありがとうございました! 大変勉強になりましたー!