• ベストアンサー

PHP 九九表 変化版

PHPで九九の変化版を作成しているのですが、下記の表をつくりたいのですが、どうしてもうまくいきません。 どのたかお分かりになる方で間違い点などをお教えて頂けませんでしょうか。宜しくお願い致します。  | 1 2 3 4 5 6 7 8 9 ------------------------------- 1| 1 * * * * * * * * 2| 2 4 * * * * * * * 3| 3 6 9 * * * * * * 4| 4 8 12 16 * * * * * 5| 5 10 15 20 25 * * * * 6| 6 12 18 24 30 36 * * * 7| 7 14 21 28 35 42 49 * * 8| 8 16 24 32 40 48 56 64 * 9| 9 18 27 36 45 54 63 72 81 <?php for($i = 1; $i <=9; $i++){ echo "*"; echo '<tr>'; for($j = 1; $j <=9; $j++) if( $i == 0){ echo "*"; } else { echo "'<td>'. $i * $j.'</td>'; echo '</tr>'; } } ?>

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

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

エラーがでるようならカッコの数があっているかきちんと数えましょう。 見出しをつけるなら$iや$jは0からはじまらないといけませんね。 ($i==0を指定しているくらいですからお分かりだとおもいますが) フローをよく考えるようにしてください。 ざっと書くと以下のようになります。 <?php echo "<table border>"; for($i = 0; $i <=9; $i++){ echo "<tr>"; for($j = 0; $j <=9; $j++){ if ($i==0 and $j==0) $num="&nbsp;"; elseif ($i==0) $num=$j; elseif ($j==0) $num=$i; elseif( $i < $j) $num="*"; else $num=$i*$j; echo "<td>".$num."</td>"; } echo "</tr>"; } echo "</table>"; ?>

noname#130289
質問者

お礼

ご丁寧に教えて頂きましてありがとうございます。 またご忠告なども頂き、ありがとうございます。 もっとがんばって勉強しよと思います。

その他の回答 (2)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

<?php echo "<table>"; for($i = 1; $i <=9; $i++){ //echo "*"; //これはいらないのでは echo '<tr>'; for($j = 1; $j <=9; $j++){ // ここに { を追加 //if( $i == 0){ // $iは1からなのでいらない //echo "*"; //} else { echo '<td>'. $i * $j.'</td>'; // " が余計です }// ここに } を追加 echo '</tr>'; } //} echo "</table>"; ?> でもこれだと全部表示します。

noname#130289
質問者

お礼

丁寧に説明して頂きどうもありがとうございます。 さっそく自分の書いたものをもう一度見直させて頂きます。 あいがとうございました。

回答No.1

いろんな作り方があると思いますが、何も考えずテキトーに作って動いたソースはこちら。 <table border="1"> <?php for($i = 0; $i <=9; $i++){ echo '<tr>'; if ($i == 0) { echo '<td>&nbsp;</td>'; } else { echo '<td>'.$i.'</td>'; } for($j = 1; $j <=9; $j++) { if ($i == 0) { echo '<td>'.$j.'</td>'; continue; } if( $j > $i){ echo '<td>*</td>'; } else { echo '<td>'. $i * $j.'</td>'; } } echo '</tr>'; } ?> </table>

noname#130289
質問者

補足

さっそくのご返答ありがとうございます。 自分でも理解できるようにかみくだいてみようと思います。 ありがとうございました。

関連するQ&A