• ベストアンサー

ループ処理での表示について

以下のような変数をループを使ってテーブルに表示させたいのですが表示できません。 $a[$i]の部分が間違っているのでしょうか。 $a1="文字"; $a2="文字"; $a3="文字";・・・・ $b1="文字"; $b2="文字"; $b3="文字";・・・・ for($i=1;$i<=10;$i++){ print<<<EOD <tr> <td> $a[$i] </td> <td> $b[$i] </td> </tr> EOD; } どなたかご教授いただけませんでしょうか。 よろしくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

えーと、配列を使いたくない・・・ということでよろしいですか? であれば、こんな風にかきます。 <?PHP $a1="文字A1"; $a2="文字A2"; $a3="文字A3"; $b1="文字B1"; $b2="文字B2"; $b3="文字B3"; for($i=1;$i<=3;$i++){ print<<<EOD <tr> <td>${"a".$i}</td> <td>${"b".$i}</td> </tr> EOD; }

99Micchi
質問者

お礼

yambejpさん、ありがとうございました。 おかげさまでできそうです。 $a[$i] は配列のときに使えるのですね。 $a=array($a1,$a2,$a3);を試したところできました。 本当にありがとうございました。

その他の回答 (1)

noname#41855
noname#41855
回答No.1

> $a[$i]の部分が間違っているのでしょうか。 はい。 $a1,$a2,$a3と言う名前の3つの変数には値が入っていますが $aと言う配列変数には値は入っていません。

99Micchi
質問者

お礼

hosiharaさん、ありがとうございました。

関連するQ&A

  • ヒアドキュメントでの変数値の表示について

    以下にようにヒアドキュメントを利用して変数を表示させたいのですが、時々、正常に変数の値が表示されない場合があります。 前後に全角スペースなどを追加してみても表示されませんが、単独で変数値をechoすると表示されます。 どういった要因で表示されないのか、ご存知でしたら教えて頂きたいのですが。。 宜しくお願いします。 例)-------------------------------     print <<<EOD      <TABLE>      <TR>      <TD>$TEST</TD>      </TR>      </TABLE>     EOD; -----------------------------------

    • ベストアンサー
    • PHP
  • select ループ

    セレクトBOXの中をループさせて表示したいのですが? 上手く表示されません。 エラーメッセージ ・webサイトがメンテナンス中 ・webサイトにプログラム上の問題が  あると出ます。 下記ソースでおかしいところあれば お教え願えませんでしょうか? <html> <head><title>session.html</title></head> <body> <?php print"<table border="1"><tr>"; print"<td>"; print"<select name=kosu>\n"; for ($i=0; $i<5; $i++){ print"<option value=$i>$i\n"; } print"</select>"; print"</td>"; print"<td><input type=submit value="登録"></td>"; print"</tr>"; print"</table>"; ?> </body> </html>

    • 締切済み
    • PHP
  • ループ処理

    HTMLのID属性、name属性をループで回したいと 考えています。 ***イメージ*** <TABLE> <TR> <?php $count = 0; for($a = 0; $count < 20;$count++){ ?> <TD> <SELECT id = "ABC" name = "Nuryoku[]"> print "<option value =<?php echo $count?>$count</option>"; </SELECT> </TD> </TR> SELECTとOPTIONタグが20個必要であり、それぞれ ID属性のABCを1~20、name属性Nuruyoku[]を1~20 ループでまわしたいと考えています。 (例) ABC1 Nuruyoku1[]    から ABC20 Nuruyoku20[] このような事が可能なのでしょうか? もし可能であればアドバイスをよろしくお願い致します。

    • ベストアンサー
    • PHP
  • ループ

    TEXTBOXのループを試みますが 上手く表示されません。 下記ソースのおかしいところ ご指摘いただけませんでしょうか? <html> <head><title>session.html</title></head> <body> <table border="1"> <tr bgcolor="#BBBBBB"> <th>月</th> <th>日</th> <th>明細</th> </tr> <?php for($i=0; $i<3; $i++){      print"<td><input type=text name=$data[$i]></td>\n"; } ?> </table> </body> </html>

    • 締切済み
    • PHP
  • for文が全然ループしていない

     下のようなfor文を作って回してみましたが、チェックのために一番最後に書いたPRINT文で「0」が表示され、その下に下線表示だけです。  一体どこが悪いのでしょうか。全く分かりません。  また「$i==9」を「$i=<9」と書いていましたら、エラー表示になりました、何が原因でしょうか。  エディター(TeraPad)の認識に原因があるのでしょうか。  文法のエラー表示は出ていません。  9*9の表を表示させるだけの簡単なコードなのですが。 <html><head><title>make_matrix_html</title></head> <body> <table border="1"> <?php for($i=1;$i==9;$i++){ print ("<tr><br />"); for($j=1;$j==9;$j++){ print ("<td>".($i*$j)."</td>"); } print ("</tr>"); } print ($i*$j); ?> </table></body></html>

    • ベストアンサー
    • PHP
  • PHP内でのループ計算についてです

    大変初歩的なことなので、お恥ずかしいのですが、 ぜひとも皆さんのお力をお借りしたくて投稿いたします。 MySQLにあるテーブルAとテーブルBの同じ値の時、 テーブルBの値を返してほしいのですが、 PHPを利用して作成したプログラムですと 1回目のループ以降、 テーブルBが値を返さなくなります。 どこが間違っているのか・・・ぜひ教えてください! for($recnuma = 0; $recnuma < $recmaxa; $recnuma++){ $cola = mysql_fetch_array($rsta); $body .="<tr>\n"; $body .="<td>" .$cola["aaa"]. "</td>\n"; for($recnumb = 0; $recnumb < $recmaxb; $recnumb++){ $colb = mysql_fetch_array($rstb); if($colb["aaa"]==$cola["aaa"]){ $body .="<td>" .$colb["aaa"]. "</td>\n"; $body .="</tr>\n"; } } } よろしくお願いいたします

    • ベストアンサー
    • PHP
  • forの中でforをループしてそれぞれ配列に格納したい

    お世話になります。 5レコードずつのデータをテーブルに吐き、テーブル自体を4個 横に並べて表示したいです。 ひとつめのforを使って最初の5行を取得しテーブルに収めることは できたのですが、6-10行目のレコードは、また同じようなforを 書いて、隣のテーブルに書かないといけないでしょうか。 配列の引数に配列もしくは変数を用いて書けば、何度も同じような コードを書かなくて済むと思ったのですが、記述しても膨大な 計算をしているらしく、タイムアウト?か、真っ白な画面を出して きます。 No 氏名 No 氏名 No 氏名 1 山田  6 川田  11 谷田 2 山下  7 川上  12 谷川 3 山本  8 川本  13 谷本 5行まで 要するに、1つのテーブルがいっぱいになったら(ここでは5行) となりのテーブルに行ってほしいのです。1-5を第1テーブル、 6-10を第2テーブル・・・とすると、第1と第2のコードはループ 2回で取れないでしょうか。 $start = 0; for ($A = 0; 3; $A++){  //テーブル4個分のループ //1テーブル5行分のループ for ($recno = $start + ($A * 5); $recno < $start + 5 + ($A * 5); $recno++){ if (! $row =& $res->fetchRow(db_fechtmode_assoc,$recno)) { break; } $body['$A'].="<tr>"; $body['$A'].="<td>".$row["No"]."</td>"; $body['$A'].="<td>".$row["氏名"]."</td>"; $body['$A'].="</tr>\n"; } } で、$body[0]の第1テーブルを書き出し、$body[1]の第2テーブルを 書き出し・・・と、そのまま使えたら楽だと思ったのです。 そもそも、$body[0]の中にはNoと氏名とは2つ入らないでしょうか・・・。 PHP5.2.6 と PEAR です。よろしくお願いします。

    • ベストアンサー
    • PHP
  • JSPのループ処理のりファクタリング

    <table border="1"> <% for(int i=0; i<5; i++){ %> <tr> <% for(int j=0; j<3; j++){ %> <td>セル</td> <% } %> </tr> <% } %> </table> 上記のような処理をしたいのですが、JSPが非常に見づらくなり何か別のシンプルな処理を探しています。 実際は外部データからループする数(条件)等を取得するためかなり複雑になってしまいます。 活用できるタグライブラリ(Struts、JSTL)などありますか? よろしくお願いします。

    • 締切済み
    • CSS
  • HTMLからURL部分を取り出したい。

    HTMLからTABLE情報をもとにURLを取り出したいのですが。 <TABLE> <TR> <TD><SMALL><B><A href="http://23336.html">11111</A></B></SMALL></TD></TR> <TR> <TD><SMALL><B><A href="http://23632.html">22222</A></B></SMALL></TD></TR> <TR> <TD><SMALL><B><A href="http://22152.html">33333<A></B></SMALL></TD></TR> </TABLE> のような書式から URL 部分を取り出したいのですが、うまくいきません。 Table = IE.document.all.tags("TABLE") for i = 0 to table.rows.length - 1  for j = 0 to table.rows.item(i).cells.length - 1    url = table.rows.item(i).cells.item(j).childNodes.item(0).href  next j next i .href ---> .innertext にすれば文字情報は取り出せます。 <SMALL> や <B> が入っていなければurlが正常に取り出せます。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 変数と文字を組み合わせて、表示させるには?

    変数と文字を組み合わせて、表示させたいのですが、 何か良い方法はありませんか? エラーになり、表示できませんでした。 a = 1;の場合 普通は、 ID.innerHTML = '  サンプル'+a; とすると、「サンプル1」と表示されます。 ここは表示できました。 実際は、このように、 ID.innerHTML ='<TABLE width="150" bgcolor="#ffcccc">  <TR><TD>サンプルです</TD></TR><TABLE>';            ↑        ここに変数a の値を入れたかったのですが…  TABLEタグを入れて、色つきで表示したかったのですが、 文字と変数の組み合わせで、エラーになり、うまくいきませんでした。 何かよい方法はないですか? 教えて下さい。

専門家に質問してみよう