メシのタネ

Webプログラミング 備忘録

  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む
  • 普通の会社で2年普通に働いて思う事

    えらい寒くなりました。文句言いながらも現職を続けて2017年12月1日にめでたく2年がたちました。分かりやすいが乱暴に言えばITドカタと呼ばれる業界に入って案件のヒエラルキーの無慈悲さを痛感しながらも、それでもしょうがないと頑張る人たちに心を打たれながら「じゃあ俺も」と頑張れない自分に挫折して、とあ[...]

    続きを読む
  • jQueryUiのDatepicker利用時にminDate設定するとバグる件

    題名の通りなんですが、DatepickerでminDate使うとバグります。また後でキャプチャ見て貰いますけど、灰色の部分が、minDateで設定した日付が反復して出るようになるんですね。こういうの気が付かない人がいるかも知れませんが、ChoromeでminDate設定してる人は気にしてみてくだ[...]

    続きを読む

PHPのループ、繰り返しについて

PHP_Logo
PHPだとwhile、dowhile、for、foreach、がループになりますが、他の言語だと呼び方が違う場合があります。とりあえずPHPのループについて書いていきます。

条件がtrueの間回り続ける


まずwhile文ですが、これは条件が正しい場合回り続けます。もっとも簡単な例がこれです。

こんな感じで無理やりtrueぶち込んでやれば回り続けますが、条件つけないと終わりがないので条件をつけないといけません。ので、最初から条件つけてやった方が良いので最初から条件つけるとこうなります。

カウントが3に達したら変数にfalseを与えてwhileを動かなくしてみました。ちなみに0からのカウントアップを出力の前につけたら1から数えて、出力の後にカウントアップをすると
0から数えます。

規定回数文回り続ける(目標に向かって走り続ける)


設定した目標数値に向かってループを続けるのがfor文になります。基本的にはこうなります。

順番に処理する必要がある場合に役に立ちます。例えば添え字が連番の連想配列を処理するのに使えます。(php5では連想配列しかない)

for文はfor(初期値; 条件式; カウントアップ)ってフォーマットで書きます。条件式は$i<規定回数でも良いですが、配列を処理する場合は配列の数を数えるcount関数を使います。この関数は配列の数を数えてくれますが、1から数えるという罠があります。 例えば、[1,2]この配列の数は0から数えたら1ですが1から数えたら2になります。簡単な使用例です。

データが変数に入り続ける間ループする


オブジェクトと配列だけをループ処理させるのがforeachで、他の型が定義された変数をforeachの中に放り込むとエラーになります。
イメージとしては皿に盛られたご飯を人間が食い終わるのが個人的にはしっくりきます。食べる人が食べられる物がなくなれば食事が終了します。foreachも配列やオブジェクトの中身を走査し終わればループが止まるので、なんか似てると思いました。ざれごとです。

こんな感じになります。これは簡単な例ですけど、ちょっとややこしいデータの構造でも簡単に処理することができます。

慣れると便利です。

関連記事

  1. PHPサムネイル
  2. 2012.12.07

    【PHP】Cakephp
  3. PHPサムネイル

コメントをお待ちしております