- ベストアンサー
phpでbreakについておしえてください <?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>私の理解では、 >for(3 = 0;3<=4; 3++){ >こんなイメージです どこから3が出てきたのでしょう? if($i ==3) があるから? これはif文の「比較演算子」ですから、代入ではありませんよ。 【比較演算子(一例)】 A == B AとBが等しい A > B AがBより大きい(超過) A < B AがBより小さい(未満) A >= B AがBより大きいか等しい(以上) A <= B AがBより小さいか等しい(以下) A != B AとBが等しくない 他に A === B AとBが等しく、かつ同じ型 A !== B AとBが等しくないか、型が違う と言う「比較」を行うものです。 よって、 for($i = 0;$i <= 4; $i++){ と言うのは、 初期値 $i = 0 代入演算子 :$iに 0 を代入 繰り返し条件 $i <= 4 比較演算子 :$iの値が4以下 増分値 $i++ 単項演算子 :$iの値をインクリメント(1増やす) ※これは「$i = $i + 1」と書いても同じ となり、 【$iの初期値を0($i = 0)】にして、 【$iが4以下ではなくなる($i <= 4)】 まで、1回ループする毎に 【$iの値を1増やして($i++)】 【繰り返す(for)】 と言う処理を書いたものです。 同じく if($i ==3){……} の部分は、 【もし(if)】 【$iの値が3と等しい($i == 3)】 なら 【処理(forループ)を中止(break)】 する と言う処理になります。 よって、プログラムとしては、 0 1 2 と出力して終わるはず。 $iが3になると、出力する前にループが中止になるので、3以上は出力されません。 仮に if($i ==3){……} の部分が無ければ、 0 1 2 3 4 と、4まで出力して終わります。
その他の回答 (3)
- Kaneyan-R
- ベストアンサー率42% (1243/2893)
forループの構文を理解されていない様ですね。 for(値;ループ条件; 増分) です。この中で変化するのは「値」のみです。 for($i = 0;$i<=4; $i++){ 「変数i」と書かれた箱の中にはリンゴが0個入っています。 「変数i」と書かれた箱の中身が4個以下なら、「変数i」と書かれた箱に1個リンゴを入れる。 この文章で、「変数i」と書かれた箱は何箱ありますか? 当然1箱ですよね? あなたの理論だと3箱あることになりますけど?
お礼
数学として考えてますね $iはどこにいっても$i 数学だとそうですよね xはどこにいってもx この文章で、「変数i」と書かれた箱は何箱ありますか? 当然1箱ですよね? あなたの理論だと3箱あることになりますけど? そうですね $i=$i+10 左辺の$iと右辺の$iはちがうものですか? for($i = 0;$i<=4; $i++){ if($i ==3){ 私の理解では、 for(3 = 0;3<=4; 3++){ こんなイメージです
- Kaneyan-R
- ベストアンサー率42% (1243/2893)
どの$iですか?と言われても、変数$iは一つしかありませんけど。 (私は今20歳 ;私が40歳以下の時; 私は1づつ年をとる) こう書いたら、「私」は3人いることになるのでしょうか?
お礼
for($i = 0;$i<=4; $i++){ $iが3つかいてありますよね?
- Kaneyan-R
- ベストアンサー率42% (1243/2893)
日本語で書いてみました。 for($iの初期値は0ですよ;$iが4以下の時繰り返すよ; $iは1づつ増えるよ){ もし($i が3だったら){ 止め!; } $iの値書いて改行; }
お礼
ありがとうございます もし($i が3だったら){ どの$iですか?
関連するQ&A
- phpで次の場合なぜ3が表示されず、2までなんでし
phpで次の場合なぜ3が表示されず、2までなんでしょうか? <?php for($i = 0; $i <= 4; $i ++){ if($i == 3) { break; } echo $i."\n"; } ?>
- ベストアンサー
- PHP
- phpのコーディングの練習問題で画像の文章をコーデ
phpのコーディングの練習問題で画像の文章をコーディングするんですが、 なぜ3でスキップと言っているのに、$i ==2 と書いているんでしょうか? <?php for($i = 1; $i <= 10; $i++){ if($i == 2){ continue; } else if($i == 7){ break; } else { echo $i."\n"; } }
- 締切済み
- PHP
- phpのコーディングの練習問題で画像の文章をコーデ
phpのコーディングの練習問題で画像の文章をコーディングするんですが、 なぜ3でスキップと言っているのに、$i ==2 と書いているんでしょうか? <?php for($i = 1; $i <= 10; $i++){ if($i == 2){ continue; } else if($i == 7){ break; } else { echo $i."\n"; } } 画像を添付しわすれたので再度投稿させていただきます
- ベストアンサー
- PHP
- PHPでのFOR文について
こんにちは質問させていただきます。 ------------------------------------ for ($i = 1;$i<100;$i++) { if ($i < 10) { ※break; } echo($i); } ----------------------------------- 上記のようなFor文で$iが10より小さい場合、 次の$iに焦点をあわせたいのですが、 breakではなくてnext(?)みたいなのはありますか? 結果としては10~99までを表示したいと考えています。 別の文でかくことができるのはわかりますが、 next(?)みたいなものはないかとおもいまして・・・ 宜しくお願いいたします。
- ベストアンサー
- PHP
- phpでcontinueはなぜ1文字スキップするん
phpでcontinueはなぜ1文字スキップするんでしょうか?スキップするならcontinueじゃなくてskipですよね?3になったらskip <?php for($i = 0; $i <= 4; $i ++){ if($i == 3) { continue; } echo $i."\n"; } ?>
- ベストアンサー
- PHP
- phpでこの"\n"はどういう意味ですか?
phpでこの"\n"はどういう意味ですか? <?php for($i = 0; $i <= 4; $i++){ echo $i."\n"; }
- ベストアンサー
- PHP
- for文~break
break文に達した時、for文から抜けますか?それとも、if { }から抜けるんですか? for文はどこまで影響下にありますか? if ( i==5 ) printf ("サーバーが見つかりません"); まででしょうか? また if ( i == 5 ) で5なら、実行としていますが、 6,や,8など5 以外でも、サーバーが見つかりません と if文が実行される見たいですが、なぜですか? 教えてください。 #include<stdio.h> int main(void) { int array[5][2]={ {1,14}, {2,28}, {3,19}, {4,8}, {5,15}, }; int sever; int i; printf("番号を入力してください"); scanf("%d",&sever); for( i=0 ; i<5 ; i++ ) if ( sever == array[i][0] ){ printf ( "%d 番には, %d 人います。\n",sever,array[i][1]); break; } if (i==5) printf("サーバーが見つかりません"); return 0; }
- ベストアンサー
- C・C++・C#
- phpでこれはどういう仕組になっているんでしょうか
phpでこれはどういう仕組になっているんでしょうか? echo $sumは 2+0 4+0 6+0 8+0 10+0で30ということですか? <?php $arr = [2,4,6,8,10]; $sum = 0; for($i = 0; $i <= 4; $i++){ $sum += $arr[$i]; } echo $sum."\n";
- ベストアンサー
- PHP
- phpが動きません
<SCRIPT LANGUAGE="PHP"> // Copyright (C) 2001-2004 All right reserved by Shinya Kondo ( CGI KON ) // 検索用関数 Function Search_Pattern($record,$pattern) { for($loop = 0;$loop < count($pattern);$loop++) { if($pattern[$loop] == "") continue; if(!ereg($pattern[$loop],$record)) return 0; } return 1; } // メインプログラム if($search) { if(!$keyword) { $error = "キーワードが入力されていません"; $search = ""; } } if($search) { $fp = @fopen("search_csv.csv","r"); if(!$fp) { $error = "該当ファイルを参照できません"; $search = ""; } } </SCRIPT> <HTML> <HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=EUC-JP"> <TITLE>ファイル簡易検索</TITLE> </HEAD> <BODY> <B>ファイル簡易検索</B> <BR> <CENTER> <FORM ACTION="search_csv.php" METHOD="post"> <INPUT TYPE="hidden" NAME="search" VALUE="検索する"> キーワード: <INPUT TYPE="text" NAME="keyword" VALUE="<? echo $keyword; ?>" SIZE="30"> <INPUT TYPE="submit" NAME="search" VALUE="検索する"> </FORM> <FONT COLOR="#FF0000"><? echo $error; ?></FONT> <HR> <P> <SCRIPT LANGUAGE="PHP"> if($search) { echo "<TABLE BORDER=1>\n"; while(!feof($fp)) { $buff = fgets($fp,255); $title .= $buff; if(ereg("\n",$buff)) break; } $title = ereg_replace("\x0A","",$title); $column = split(",",$title); echo "<TR>\n"; for($loop = 0;$loop < count($column);$loop++) { echo '<TD BGCOLOR="#00FFFF" NOWRAP>',$column[$loop],"</TD>\n"; } echo "</TR>\n"; $keyword = ereg_replace(" "," ",$keyword); $pattern = split(" ",$keyword); while(1) { $line = ""; while(!feof($fp)) { $buff = fgets($fp,255); $line .= $buff; if(ereg("\n",$buff)) break; } if($line == "") break; if(!Search_Pattern($line,$pattern)) continue; $line = ereg_replace("\x0A","",$line); $column = split(",",$line); echo "<TR>\n"; for($loop = 0;$loop < count($column);$loop++) { echo "<TD>",$column[$loop],"</TD>\n"; } echo "</TR>\n"; } fclose($fp); echo "</TABLE>\n"; } else { echo "キーワードを入力し、検索ボタンを押すと検索結果がここに表示されます。\n"; } </SCRIPT> <P> <FONT SIZE=2><I> Copyright (C) 2001-2004 All right reserved by <A HREF="http://cgikon.com">CGI KON</A> </I></FONT> </CENTER> </BODY> </HTML> フリー配布のphpをチェックしているのですが、なぜかこのphpだけ動きません。 csvファイル名もそのままでftpにあげています。 他のphpは問題なくうごいているのですが、原因がわかりません。 ご教授願います。
- 締切済み
- PHP
- PHP かけ算
PHPを使い下記の表を作ろうとしております。 ぱっと見た所あと少しで出来そうな気もするのですが、 なにかが間違っています。 誰かお分かりになるかたが今したらお伺いできますでしょうか。 | 1 2 3 4 5 6 7 8 9 -------------------------------- 1| * 2 * 4 * 6 * 8 * 2| 2 * 6 * 10 * 14 * 18 3| * 6 * 12 * 18 * 24 * 4| 4 * 12 * 20 * 28 * 36 5| * 10 * 20 * 30 * 40 * 6| 6 * 18 * 30 * 42 * 54 7| * 14 * 28 * 42 * 56 * 8| 8 * 24 * 40 * 56 * 72 9| * 18 * 36 * 54 * 72 * <table border ="1"> <?php for($i = 0; $i <=9; $i++){ echo'<tr>'; if($i == 0){ echo '<td> </td>'; } else { echo'<td>'.$i.'</td>'; } for($j = 1; $j<=9; $j++){ if($i == 0){ echo'<td>'.$j.'</td>'; continue; } if($i*$j % 2 == 0) { echo '<td>'. $i * $j.'</td>'; } else { echo '<td>*</td>'; } } echo '</tr>'; } ?> </table>
- ベストアンサー
- PHP
お礼
ありがとうございます なんとなく理解できた気がします 初期値の部分が$iなのかなと。