変数の問題もいくつかやってきましたので、ここで少しフロー制御の問題を出していきます。
プログラムは上から1行ごとに実行されていきます。(順次処理)
また、条件に応じて処理を実施する(分岐)、条件まで何度も同じ処理を行う(繰り返し)があり、プログラムの基礎を勉強すると最初にならう部分です。
ということで、簡単なループと条件分岐を書いたサンプルを見ていただきましょう。
PHPをWindowsで実行したいのであれば、XAMPP(ザンプ)をインストールすると、自分のPCでも簡単に動作させることが出来ます。
インストール方法は、以下のサイトから。
WINDOWS XAMPP にて LARAVEL をインストール (XAMPP V1.8.3インストール)
phpedu13.php
<?php $sum = 0; for($i = 1; $i <= 10; $i++) { $sum += $i; } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>tech.pjin.jp HTML5 Template</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> <!--[if lt IE 9]> <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="container"> <div class="page-header"> <h1><i class="fa fa-check-square"></i> PHP問題13</h1> </div> <div class="jumbotron"> <h1><?= $sum ?></h1> </div> </div> <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> </body> </html>
※CSSには、Bootstrap、Font-Awesomeを利用しています。
※Javascriptには、jQuery1.11.3を利用しています。
問題:このPHPをブラウザで見た結果(実行結果)を答えなさい(複数選択可)
- 「0」と表示される。
- 「15」と表示される。
- 「37」と表示される。
- 「55」と表示される。
- 特に何も出力されない。
- エラーが出力される。
正解:4.「55」と表示される。
実行制御
- 順次実行
- 条件分岐
- 繰り返し
今回は、繰り返しの問題になります。
PHPでは、繰り返しに利用できるステートメントは、for, foreach, while(do-while) があります。
その中で、今回は for を利用しています。
forの中身は、変数宣言、条件式、継続処理 の順番で記述します。
今回の変数宣言は、$i = 1、条件式は$i <= 10、継続処理は$i++ となります。
まず、変数宣言ですが、$i を宣言し、初期値に 1 を代入するという意味になります。
条件式ですが、$i <= 10 $i が10以下か?という条件になります。10以下の場合は true 以外の場合は false になり、ループを終了します。
継続処理ですが、条件式が trur の場合に、$i++ $iをインクリメント(1を足す)を行います。
ここはで、$iが1~10まで移動し、その数字を$sumに足し続けるということになります。
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10の計算結果が出力されます。
ということで、正解の55が出力されます。