質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1241閲覧

うまく表示されない。

hatimaki

総合スコア27

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/07/27 05:23

編集2017/07/27 05:42

2つのテキストボックスをつくり、
1つめに繰り返し表示する記号、2つ目に表示する回数を入力すると
(記号を#にして回数を5回にした場合)

# ## ### #### #####

上記のように表示されるプログラムをPHPで作成のですが

<!DOCTYPE html> <html lang="ja"> <meta charset=utf-8> <body> <form method="post" action="php7-mondai1.php"> 表示記号:<input type="text" name="kigou" size=5><br> 表示回数:<input type="text" name="kaisu" size=5><br> <input type="submit" value="表示"> </form> <?php $kigou=$_POST["kigou"]; $kaisu=$_POST["kaisu"]; $no=1; for($i=1; $i<=$kaisu; $i++){ if($no<$i){ print($kigou); $no++; }else if($no==$i){ print($kigou."<br>\n"); $no=1; } } ?> </body> </html>

ここまで作成したのですが、

# ####

このように2回目以降がうまく表示されなく困っています。
アドバイスをお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1文字ずつ出力する処理であるなら、最低でも二重ループが必要です。
1つ目のループが$kaisu分(行)処理して、2つ目のループでその行の文字数分処理します。
次のようにしてみてください。

PHP

1<?php 2$kigou=$_POST["kigou"]; 3$kaisu=$_POST["kaisu"]; 4for($i = 0; $i < $kaisu; $i++){ 5 for($j = 0; $j < $i + 1; $j++){ 6 print($kigou); 7 } 8 print("<br>\n"); 9} 10?> 11

またPHPには指定文字を指定文字数出力する関数str_repeatがあるので、これを使うなら一重ループで済みます。

PHP

1<?php 2$kigou=$_POST["kigou"]; 3$kaisu=$_POST["kaisu"]; 4for($i = 0; $i < $kaisu; $i++){ 5 print str_repeat($kigou, $i + 1) . "<br>\n"; 6} 7?>

投稿2017/07/27 05:33

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatimaki

2017/07/27 21:41

わかりやすい回答をしていただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問