PHP入門

剰余算

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
剰余算とは、割り算の余りを求める算術演算子です。そのままでは何に使うのかわからない演算子ですが、繰り返しの構文などと組み合わせることで、面白い使い方ができます。その使い方を紹介しましょう。
講師:
10:40

字幕

続いて剰余算と言いまして算術演算子の1つなんですけれどこちらの%という記号について解説していきたいと思います。剰余算というのは、簡単に言うと割り算をした時の余りを求める計算式です。実際にその動きをスクリプトで確認していきたいと思います。それでは MAMP のアップロードフォルダーMAMP の htdocs にフォルダーを1つ作りましょう。ここでは、lesson04-03 というフォルダーでテンプレートファイルをコピーしていきます。index.html をファイル名index.php に変更してDreamWeaver で編集します。そして、タイトルを簡単に付けてそれでは内容を記述していきましょう。ここでは、print として例えば10%3 と記述します。この動きを確認してみます。MAMP を起動してApache が起動していることを確認したらWeb ブラウザ―からlesson04-03 ということでアクセスします。すると画面には1と表示されています。これは 10%3 つまり10 を 3 で割った時の余りということなので10÷3= 3 余り 1 です。そこで画面には1と表示されているわけです。 では例えば 10÷ ということで6 としましょう。6 の場合、余りは4になります。10÷6= 1 余り 4 ですので余りは4ということなんですね。算術演算子としてはこの様に余りを出力するというだけの非常にシンプルなものですが一体これどんな時に使うのかというのは難しいかもしれません。この剰余算というのはある性質を持っていてそれを使うと色々と便利に活用できます。例えば、この計算式をご覧下さい。0%3 とします。これは何がでるかというのは0がでます。0÷3= 0 余り 0 ですので0です。では、今度は 1%3 は何が出るでしょうか。これは1が出ます。1÷3= 0 あまり 1 です。同じく 2 は余りは2です。そして、3%3 というのは割り切れます。1 余り 0 ですので剰余算としては0になります。この様に数字を1つずつ加えていきますと120120 ということで0 1 2 0 1 2 というのがずっと繰り返し表示されることになります。これは、その剰余算つまり余りの性質を見ればわかると思うんですけど剰余算というのは割り切れない時にでてくる数字です。割り切れる、というのはここでいうと3で割り切れるわけですから余りの最大値としては2になります。 そして、あとは0に戻ってまた 1、2また0に戻って1、2 という形で繰り返されるわけです。この数字、こちらの数字とこちらの数字を調整すればある一定の間で数字を繰り返し表示させることができることになります。では、この性質を利用すると一体どんな所に便利なことが起こるのでしょうか。例えば、繰り返しと組み合わせて使うと非常に便利です。例えば、ここではプログラムを変更して配列を1つ作っていきます。item ということで、それを配列にしますので複数形の items としましてここでは「いちご」とそれから「りんご」そして「バナナ」ということで3つの商品を表示するようにしましょう。そして、ここでは table のタグを使って出力をしていきます。ここで、for 構文使っていきましょう。$i が 0$i は count の itemsこれは今回の場合、配列が決まっていますので3未満としても問題はありませんが前のレッスンで紹介したcount というファンクションを使えばコンピューターにその配列の個数というのを数えさせることもできます。どちらを使っても構いません。そして、$i ++ これは既に説明しましたが$i を $i + 1 ということで1ずつ加えていくという命令でした。 ここでは、それを簡単に書くために$i ++ と書いています。では、この繰り返しの中で一体どんなことをやるのかと言いますとこの様に書いていきます。print で $i とします。そして th を閉じましてtd として、その商品の名前を表示していきます。そして、tr を閉じてendforそして table タグを閉じます。さて、このスクリプトを実行するとどうなるかと言いますとこの table が作られてその中に $iつまり 0 1 2 という数字そして $items の i ということで「いちご」「りんご」「バナナ」というのが画面に表示されるはずです。Web ブラウザーを再読み込みしてみましょう。この様に0番目が「いちご」1番目が「りんご」2番目が「バナナ」という風に表示されました。もう少し種類を増やしておきましょう。「パイナップル」それから「もも」そして「ざくろ」という様な形で増やしてみましょう。この様にどんどん増えていきます。この時テーブルなどを構成すると1つ1つが行の、この様な関連性がわかりづらくなることがあります。そこでよくやるのは1行ごとに色を変えるという様な事をやるのは皆さんご存知なのではないでしょうか。 その時に、この剰余算というものが使うと非常に便利になります。この様なプログラムにしてみましょう。for の後に if 構文を組み立てます。そして$i%2 == 0 とします。その場合、こちらの tr stylebackground-colorこれは css の知識になりますけどbackground-color、つまり表の行の背景を変更するという css です。これを ccc とします。そして else としまして今度は普通の tr を出力します。ちょっと複雑なスクリプトになりましたけどまずは動きを確認して、そのスクリプトの内容を確認していきましょう。このスクリプトを画面を再読み込みしますと「いちご」と「バナナ」と「もも」の部分がそれぞれグレーの背景色になりました。この様に一行ごとに色が変わると、非常に見やすいテーブルを作ることが出来ます。では何故このようなことが起こったのかという動きを確認していきましょう。まず、繰り替えしの構文を使って$i というのは0から 1 2 3 4 5 という形で1ずつ加算されて、繰り返されて行きます。そのため、ここである $i には0から順番に0 1 2 3 4 5 という数字が入っていきます。 例えば、この % に0%2 の余りというのは0になります。この1行目のことですね。その場合、if 構文によってこの一番目、24行目の tr が画面に出力されます。この tr にはスタイルシートが仕込まれていてbackground-color背景色をグレーにしています。そのため、0番目「いちご」の行は背景色がグレーになっているわけです。そして、繰り返しの構文で続いて $i が1になった場合1%2 の余りは1になります。そのため、== 0 の条件は満たされなくなりますので26行目の else の次のスクリプトであるこの tr が画面に出力されます。つまり、スタイルシートがかかっていない普通の行が出力されるわけです。続いて、$i は 2 になります。2は %2 で余り0になりますのでまた tr のスタイルシートがかかった状態で「バナナ」はグレーになります。3は余り1ですのでこの様に普通の行4は余りありませんので、余り0ですので、背景色はグレーになります。そして最後、5は余り1になるのでまた普通の背景色になるという様な形で1つずつジャンプしながら背景色を付けるというような処理を行うことができるわけです。 例えばここで、あまり意味はないですけれど% の後の数字を3に変えた場合どのような動きになるかというのはこうなります。0と3に背景色が付きます。これは先ほどの通り3で割った時の余りというのは0 1 2 0 1 2 という繰り返しになります。そして、この if 構文の条件が0の場合という条件になっていますので結果として0番目と3番目に背景色がつくという処理ができるわけです。この様に剰余算というのを使うと何回に1回、何かの処理をするという様な時に非常に便利に使うことができます。是非 for 構文などの繰り返し構文と組み合わせて使うことで見やすい画面を作ったり使いやすいシステムを作れるようにしてみて下さい。

PHP入門

このコースでは動きのあるWebサイトでショッピング、友人との写真を共有、キーワードによる情報検索など便利な仕組みを作るための技術であるPHPについて解説します。これまでプログラミングに触れたことがない方でも、ちょっとしたプログラムを自分で作ることができるようになります。

4時間56分 (29 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。