こんばんは。
繰り返しの処理で『while文』の書き方が全然理解できんかった原始人美加子です。
Q:新しい構文がでると・・・まったく出来んよね。(ため息。。。)
美:すっっ。。すいません。
Q:一日かかってこんだけかぁ~。(まったく進んでないな。)
美:・・・・・。
Q:まず書き方が全然違う!!
美:・・・・・。
ということで、while文の書き方を教えてくれました!!
1 2 3 |
while (繰り返す条件) { 条件に一致している場合に繰り返し実行するプログラム } |
↑よくこんな風に説明してるんだけど・・・
この(繰り返す条件)ってなーに??って感じなんっすよね~。
今回は変数($slc_flg)ってのを新たに作って、その値に0を代入。
(繰り返す条件)を「$slc_flg==0」とし、処理の部分に条件式が変化するように設定する。ループを終わらせる時(重複するユニークキーがない場合)に「$slc_flg=1」とした。
(*条件式が変化しないと、無限にループし続けるので注意!!)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$slc_flg = 0; while ($slc_flg == 0) { //ユニークキー作成 $pw = mt_rand(0,9999); $pw2 = sprintf("%04d",$pw); // print $pw2."<br />"; //同じユニークキーの有無 $sql ="SELECT ukey FROM `events_applicant` WHERE ukey='".$pw2."' AND EV_id=".$EV_id; $db_director = db_select($sql); if(count($db_director) == 0){ $ukey = $pw2; print $ukey; $slc_flg = 1; //DBの値に重複するユニークキーがない場合は変数($slc_flg)に1を代入。 }else{ // print "同じ値が存在します。"; $slc_flg = 0; //DBの値に重複する場合は0を代入。(while処理を繰り返す。) } } |
Q先生に説明されると『なるほど~!!』って簡単な事やったけど、
書き方がわからんと いろんな事調べて、結果どんどん複雑な事書いてるもんしか見つけれんで・・・
勝手に複雑にしてしまう自分がいるな~と今日も思った原始人美加子であーる。