前回は、PHPのプログラムでの基礎的な計算(足し算、引き算、掛け算、割 り算、剰余算)の基本的な表記方法についてお話しましたが、今回は、あるケ ースの場合は、特殊な表記の仕方ができるので、それについてのお話です。 ■$a+=$b これは一体なんでしょうか? 何か暗号のようにも見えますし。。。 答えは $a=$a+$b とまったく同じ意味の表記です。 「$a=$a+$b」は、$aと$bを足した値を再び$aに代入するという意味で すが(aとa+bが等しいという意味ではなく、=は右辺の値を左辺の変数に 代入する、という意味です)、そのようなことを複合した記号(+=)で表現 したのが「$a+=$b」ということです。 なにか狐につつまれたというか、分かりにくいかもしれませんが、では、ここ で、実際にプログラムを書いてみて本当かどうか確認してみます。 PHPプログラムのベタ書きでもよいのですが、それではあまり面白くないの で、今までと同じように、HTMLフォームからいろいろな値を入力できるよ うにして、その結果を画面に表示させてみましょう。 ----------------------------------------- <html> <head> <title>複合演算子のテスト</title> </head> <body> <form action="071-1.php" method="post"> 値a:<input type="text" name="atai_a"><br> 値b:<input type="text" name="atai_b"><br> <input type="submit" name="bottun1" value="入 力"> </form> </body> </html> ----------------------------------------- これを、「C:\Inetpub\wwwroot\php」フォルダに「071-1.htm」という名前で 保存して、
そのアイコンをダブルクリックすると、2つの値を入力するテキストボックス が表示されるかと思います。
それを確認した後に、次に、受け取った値を計算するPHPプログラムを書き ます。 ----------------------------------------------- <?php $a = $_POST["atai_a"]; $b = $_POST["atai_b"]; $c = $a; //←ここで、$c,$dにそれぞれ$a,$bの値を $d = $b; // とっておきます。 $a = $a + $b; $c += $d; print('$aの値:'.$a."<br>"); print('$cの値:'.$c."<br>"); ?> ----------------------------------------------- これを「071-1.php」の名前で、「C:\Inetpub\wwwroot\php」フォルダに保存 します。
次に、ブラウザのアドレス欄に「http://localhost/php071-1.htm」と入力し て、それぞれのテキストボックスに適当な数値を入力します。
そして、次に表示される画面を見れば、「$a = $a + $b」と「$c += $d」(す なわち「$a += $b」)の結果が同じであることがであることが確認できるでし ょう。
■他の計算の場合 上の例では、足し算を例にとって詳しくお話しましたが、他の計算の場合も同 様に書くことができます。 すなわち、 $a=$a−$b → $a−=$b $a=$a*$b → $a*=$b $a=$a/$b → $a/=$b $a=$a%$b → $a%=$b というような具合になります。 また、今までのPHPスクリプトで出てきた記号「.」は、文字と文字とを結 合させる働きがある記号ですが、これも同じように書くことができます。 ここでは、実例は省略しますが、例えば、 --------------------- <? $a = "今日は"; $b = "いい天気でした" $a = $a . $b; print($a); ?> --------------------- とすると、画面には「今日はいい天気でした」と表示されますが、 --------------------- <?php $a = "今日は"; $b = "いい天気でした" $a .= $b; print($a); ?> --------------------- と表記しても同じように「今日はいい天気でした」と画面に表示されます。 「$a=$a+$b」を使っても「$a+=$b」を使っても意味とその結果は一 緒ですから、どちらを使っても、その人の趣味ということになりますが、後者 の方を使った方がプロっぽく見えるかもしれません。 ただ、私の場合は、見て直感的に分かりやすいという点で、個人的には「$a =$a+$b」の方を使っています。
42歳のオヤジでもできた!パソコンサーバー化計画 (マガジンID:0000114576)
Powered by