• 締切済み

PHPのcountについて(php初心者です)

みなさん、こんにちわ。 最近、個人的興味からphpを独学で習いだした者です。 質問についてですが、phpにて下のように結果を出力したいのですが うまくいかなくて困っています。 1 22 333 4444 55555 自分では <?php { for ($count =1; $count <5; $count++) { for ($newcount =0; $newcount<$count; $newcount++) { $answer = "$count"; { echo "$answer"; }}}} ?> と作ってみたのですが 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 と出力されてしまいます… どうすれば、階段状に出力できるのでしょうか? 初歩的な質問で申し訳ありませんが、教えて頂けると幸いです。

みんなの回答

  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.2

そんなはずはありません。そのままのプログラムだと、 1223334444 と表示されます。 修正点は2つで、5まで繰り返す、改行する。 <?php for ($count =1; $count <= 5; $count++) { for ($newcount =0; $newcount<$count; $newcount++) { $answer = "$count"; echo "$answer"; } echo "\n"; } ブラウザで表示するなら、最後の "\n" は、"<br>" に。

全文を見る
すると、全ての回答が全文表示されます。
  • marutone
  • ベストアンサー率40% (70/174)
回答No.1

以下のソースをお試しください。 $str = ''; for ($i = 1; $i <= 5; $i++) { for ($j = 1; $j <= $i; $j++) { $str .= strval($i); } $str .= "<br>\n"; } echo $str;

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpについて質問です

    こんにちは、当方php初心者です。 先日外部サイトのRSSを表示したい思い、それ用のプラグイン『SimplePie(http://simplepie.org/)』のWordpress用のプラグイン、『SimplePie Plugin for WordPress』を導入してみました。 プラグインの出力用のプログラムは <?php echo SimplePieWP('http://表示したいRSSのURL'); ?> なのですが、たくさんのサイトのRSSを表示したい場合はこの文字列をたくさんコピーペーストで並べるしか方法はありませんでしょうか。 (例) <?php echo SimplePieWP('http://表示したいRSSのURL'); ?> <?php echo SimplePieWP('http://表示したいRSSのURL'); ?> <?php echo SimplePieWP('http://表示したいRSSのURL'); ?> 以下URLだけ変えても続く というような感じ 初歩的な質問で大変申し訳ないのですが、この方法より簡易で済むphpの書き方等ありましたらお教えいただけると幸いです。よろしくお願い致します。

    • ベストアンサー
    • PHP
  • HTMLに埋め込んだPHPがうまく出力できない

    PHP初心者です。 PHPファイルで、HTMLに埋め込んだPHPがうまく出力できません。 このファイルはもう一つのPHPファイルに読み込んで実行しています。 例えば、 <?php echo "<p>こんにちは</p>"; ?> とすると、 こんにちは "; ?> と出力されてしまいます。 とても初歩的なところで詰まっているようでお恥ずかしいのですが、 原因が分からないので回答よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP javascript の関係に関して

    現在、MySQLよりPHPを用いてデータを取得し、PHPのある変数にデータを格納しています。 その結果を、javascriptの中でデータとして使用したいと考えていますが、そもそもPHPで格納されている変数をjavascriptの中で使用する事は可能なのでしょうか。。。 //例ですが、   $sql = "select aaa from AAA"; if (!mysql_select_db('db', $con)) { echo 'Could not select database'; exit; } mysql_query("set names sjis"); $result = mysql_query($sql,$con); $row = mysql_num_rows($result); $count = 1; for($i=0;$i<$row;$i++) { $array = mysql_fetch_array($result); $tmp_aaa[$count] = $array[0]; $count++; } <script type="text/javascript"> <!-- msgtxt = new Array(); for (i=0; i<3; i++){ msgtxt[i] = new Array(); } $count = 0; for($i=0;$i<$row_naiyou;$i++) { $msgtxt[$count] = $tmp_aaa[$count]; $count++; } というような形です。 javascript自体、php> ?>の中に囲まれていれば問題ないのでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。

    • 締切済み
    • PHP
  • このPHP記述を修正願います

    にわかプログラマーです。 PHP記述に詳しい方、ひとつ教えてください。 ■現在、下記PHP記述があるとして、これをHTML出力すると echo "<tr><td>日付:$date</td></tr><tr><td><select name=\"ayear\">"; for($i = 2002; $i <= $last_year; $i++){ echo "<option value=" . $i . (($i == $year) ? ' selected' : '') . ">" . $i . "</option>"; } ■こう出力されてしまいます。 <option value=2013 selected>2013</option> これを ■下記のように出力できるようにしたい <option value="2013" "selected">2013</option> (HTML記述として""で閉じられていないのを解決したい) 上記PHPを修正したいのですが、どなたか記述を修正していただけないでしょうか。 不躾な質問で申し訳ないですがよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPでのアンケート設置について

    PHPでのアンケート設置について 同じカテゴリにて間隔を空けずに他にも質問してますので内容が若干被るかもしれませんがご了承ください。 下記サイトのアンケートを自身のサイトに設置したいと思い、とりあえず動作確認だけでもしてみようとソースをそのままコピペして(phpファイル名とテキストファイル名は変更)サーバーにアップしましたが上手く動作してくれません。 ソースが掲載されているサイトURL:http://rx78.mods.jp/php_sample/questionnaire/index.html -------------ank.php-------------------- <html> <head> <title>アンケート</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body>あなたの好きな教科を選んで投票してください。 <form name="form" method="post" action="ank.php"> <?php //ラジオボタンを項目ごとに出力 $subject=array('国語','社会','数学','理科','英語'); for($i=0; $i<count($subject); $i++){  echo "<input type='radio' name='kyouka' value='$i'>{$subject[$i]}<br>\n"; } ?> <br> <input type="submit" name="submit" value="投票"> </form> <table border="1"> <?php //データの書き込み $data=file('data2.txt'); for($i=0; $i<count($subject); $i++){ $data[$i]=rtrim($data[$i]); } if($_POST['submit']){ $data[$_POST['kyouka']]++; $fp=@fopen('data2.txt','w'); for($i=0; $i<count($subject); $i++){ fwrite($fp,$data[$i]."\n"); } fclose($fp); } //データの出力 echo "<hr>"; for($i=0; $i<count($subject); $i++){ echo "<tr>"; echo "<td>{$subject[$i]}</td>"; echo "<td><table><tr>"; $wd=$data[$i]*10; //出力幅の設定 echo "<td width='$wd' bgcolor='#eeeeee'> </td>"; echo "<td>{$data[$i]} 票</td>"; echo "</tr></table></td>"; echo "</tr>\n"; } ?> </table> </body> </html> ---------------------------------------- 上記のank.phpファイルと同じディレクトリに空のdata2.txtファイルを用意し、パーミッションを606に設定しました。 アップしてank.phpにアクセスすると真っ白のページになります。 お借りしているレンタルサーバー(Rental Orbit Space )はphp可でパスも設定しました。 上記サイトの他のサンプルを使用してみたらエラーがあった為(ネットで調べて自己解決済)、不信感を覚えこのサンプルのコードにも誤りがあるのでは?と思いましたが、私が初心者な為コードを見てもどこが間違っているのかさえ皆目見当付きません。 そこで詳しい方の力をお借りたくて質問しました。 私自身が半可通な為に説明不足な点もあるかと思いますが、ご教授いただければ幸いです。 何卒よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 「$tag = <<< HTML ~ HTML;」の【~】内でphpを使うには?

    はじめまして、よろしくお願いいたします。 以下のようなphpファイルを作りました、[123]と出力したいのですがうまくいきません・・ 「$tag = <<< HTML ~ HTML;」の【~】内でphpを使うにはどのようにすればよろしいのでしょうか? 教えていただけると幸いです。 __________________________ 【phpファイル】 <? $tag = <<<HTML <html> <body> for($a = 1; $a < 4; $a++) { print($a); } </body> </html> HTML; echo $tag; ?> ___________________________ 【出力結果】 for( = 1; < 4; ++) { print(); } ___________________________ 【希望する出力】 123

    • 締切済み
    • PHP
  • 【PHP】関数で処理が止まってる??

    お世話になります。 PHPでの質問ですが、PHPに限ったものではないように思いますので、プログラム全般に対しての質問と思って下さって結構です。 ※PHP特有のという意見があれば、それも大歓迎です。 下記のようなコードを組んでみました。 <?php echo "func1の結果["; echo func1(); echo "]"; function func1(){ (内容は割愛) return TRUE; } ?> このコードをアップしてアクセスしてみると   出力結果  func1の結果[ でした。 ブラウザのステータスに「ページが表示されました」とあるので、処理中で出力待ちということはないと思います。 > echo func1(); > echo "]"; の箇所の出力はどうなっていると考えればいいのでしょうか? 「関数の内容次第で・・・」とお答えになる方、どういう内容だとこのような結果になるのかというところでお答えください。 私のプログラムによる根本的な考え方は、プログラムは上から下に順番になので、 上記内容の箇所にどんなコードがあったとしても、func1関数はTRUEを返すので、結果としては「func1の結果[1]」となるはずでした。 でも実際の出力結果をみると処理が途中で(おそらくfunc1()内で)止まっているともいます。 timeoutではないため無限ループに嵌ってっていうのもないと思います。 これはどういうことでしょう???

    • 締切済み
    • PHP
  • PHPでカレンダーを作成するにあたって(祝日)の出力

    PHP初心者です。 勉強をかねて、PHPでカレンダーを作成しています。 カレンダー自体は作成できたと思うのですが、祝日も考慮したいので、どうコーディングすれば良いでしょうか? カレンダーは下記のように作成致しました。 <html> <head> <title>カレンダー</title> <link rel= "stylesheet" href="ookawa.css" type="text/css"> </head> <body> <table> <th colspan="7"><font size="+1"> <?php echo date("Y"); ?> <?php echo "/"; ?> <?php echo date("m"); ?> </font><font size="+1"></font></th> <tr> <td><font size="-1">日</font></td> <td><font size="-1">月</font></td> <td><font size="-1">火</font></td> <td><font size="-1">水</font></td> <td><font size="-1">木</font></td> <td><font size="-1">金</font></td> <td><font size="-1">土</font></td> </tr> <?php //当月の1日の曜日 $startwday = date("w", mktime(0, 0, 0, date("n"), 1, date("Y"))); //当月の最後の曜日 $endmday = date("t"); //当月の1日までの空欄 for($i = 0 ; $i < $startwday ; $i++) { if(($count % 7) == 0) { echo "<tr>"; } echo "<td> </td>"; $count++; } //●日付の書き込み for($i = 1 ; $i <= $endmday ; $i++) { if(($count % 7) == 0) { echo "<tr>"; } if($i == date("j")) { //☆本日の場合、背景色を黄色にする☆ echo "<td bgcolor=\"FFFF00\">"; } else { echo "<td align=\"center\ bgcolor=\"FFFF00\">"; } if(($count % 7) == 0) { //☆日曜日の場合、文字色を赤色にする☆ echo "<font color=\"red\">"; } elseif(($count % 7) == 6) { //☆土曜日の場合、文字色を青色にする☆ echo "<font color=\"blue\">"; } echo "$i"; if(($count % 7) == 0 or ($count % 7) == 6) { echo "</font>"; } echo "</td>"; $count++; if(($count % 7) == 0) { echo "</tr>\n"; } } //当月の最終日以降の空欄 for( ; ($count % 7) != 0 ; ) { echo "<td> </td>"; $count++; if(($count % 7) == 0) { echo "</tr>\n"; } } ?> </table> </body> </html> アドバイスを宜しくお願い致します。

    • 締切済み
    • PHP
  • phpプログラムにてすぐecho出力が出ない。

    phpにて、ログ解析を解析し、解析結果をCSVに加工して出力するものを 作成しました。 ログの解析には、解析したい単語で正規表現を使用し、 抽出しています。 正規表現は一行につき、多い場合で5つ実行されます。 echoでところどころに変数を出力するようにしています。 phpの<?phpのすぐ下にも startと出力するようにechoを入れています。 ログのボリュームにもよるのですが、 サイズが大きいログの場合、 解析プログラムを実行しても、最初のうちは、ふんともすんとも しないのです。 5000行のログでは、1時間たっても、実行されず、echoの標準出力が発行されず、 100行程度の場合、数秒でechoの標準出力が出力されます。 すこし、経つと、思い出したかのように 標準出力を吐き出します。 phpのプログラムにおいて、 実行する場合に、どのようなソースチェックが行われているのでしょうか?? すこし、わかりづらい質問ですが、 詳しい方、宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPの参考書で分からないとこがあります

    PHPによるWebアプリケーションスーパーサンプル第2版のP.99のサンプルファイルにどうしても分からない箇所があります。 <html> <head> <title>絞込み検索キーワードをSQLに反映する</title> </head> <body> <?php // データを受け取る $text1 = @$_POST["text1"]; // SQL(ProductsテーブルからProductNameを抽出する) $sql = "SELECT ProductName FROM Products "; // キーワードが入力されているときはWHERE以下を組み立てる if (strlen($text1) > 0) { // 全角スペースを半角スペースに変換する $text2 = str_replace(" ", " ", $text1); // キーワードを空白で分割する $array = explode(" ", $text2); // 分割された個々のキーワードをSQLに反映する $where = "WHERE "; for ($i = 0; $i < count($array); $i++) { $where .= "(ProductName LIKE '%$array[$i]%')"; if ($i < count($array) - 1) { $where .= " AND "; } } } // 受け取った値を表示する echo "<p>検索キーワード:".$text1; // 組み立てたSQLを表示する echo "<p>組み立てたSQL:".$sql.@$where; ?> <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table> <tr> <td><input type="text" name="text1" value="<?php echo $text1?>"></td> <td><input type="submit" value="送信" name="sub1"></td> </tr> </table> </form> </body> </html> 上記の for ($i = 0; $i < count($array); $i++) { $where .= "(ProductName LIKE '%$array[$i]%')"; if ($i < count($array) - 1) { $where .= " AND "; } } の箇所なんですが、そこに複数ある「.(ドット)」は何を表しているのでしょうか? また、 if ($i < count($array) - 1) { $where .= " AND "; が行っている処理を教えて下さい。 初歩的な質問かもしれませんが、よろしくお願いします。

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • PCから印刷ができず、電源をOFFにできないトラブルが発生しました。
  • 在宅勤務中に突然発生した印刷と電源の問題に困っています。
  • ブラザー製品DCP-J988NでPCからの印刷ができず、電源のOFFができません。
回答を見る

専門家に質問してみよう