1. for文
使うタイミング:繰り返す回数が最初から決まっているとき
基本形
for (初期値; 継続条件; 増減処理) {
// 繰り返したい処理
}
for ($i = 0; $i < 10; $i++) {
if ($i === 5) {
// break; // ここでループ全体を終了する
// continue; // この回だけスキップして次のループへ進む
}
echo $i;
}
// 出力結果:0123456789
2. while文
使うタイミング:繰り返す回数が事前に決まっていないとき(条件を満たす間繰り返す)
基本形
while (継続条件) {
// 繰り返したい処理
}
$j = 0;
while ($j < 5) {
echo $j;
$j++;
}
// 出力結果:01234
3. switch文
ポイント
- 1つの値をいくつかの条件で分岐させたいときに使う
- 比較は
==(緩い比較)で行われる - 各
caseの最後にbreak;を書かないと、次のcaseの処理まで流れて実行されてしまう(フォールスルー) - 分岐が少ない場合は
if文の方がシンプルで読みやすいことが多い
$data = 2;
switch ($data) {
case 1:
echo '1です';
break;
case 2:
echo '2です';
break;
case 3:
echo '3です';
break;
default:
echo '1-3ではありません';
}
// 出力結果:2です($data = 2 なので case 2 が実行される)
同じ処理をif文で書くと:
if ($data == 1) {
echo '1です';
} elseif ($data == 2) {
echo '2です';
} elseif ($data == 3) {
echo '3です';
} else {
echo '1-3ではありません';
}
// 出力結果:2です($dataが2のとき)
4. 関数(function)
- 関数には「組み込み関数」(PHPが元々用意しているもの)と「ユーザー定義関数」(自分で作るもの)の2種類がある
- 基本形:
function 関数名($引数1, $引数2) {
// 処理
return $戻り値;
}
4-1. 引数なし・戻り値なし
function test() {
echo 'テスト';
}
test(); // 出力:テスト
4-2. 引数あり・戻り値なし
$comment = 'コメント2';
function getComment($string) {
echo $string;
}
getComment($comment); // 出力:コメント2(変数として渡す)
⚠️
getComment('$comment');のようにクォートで囲んでしまうと、変数の中身ではなく$commentという文字列そのものが渡ってしまうので注意。
4-3. 引数なし・戻り値あり
function getNumberOfComment() {
return 5;
}
getNumberOfComment(); // 戻り値を使っていないので何も表示されない
var_dump(getNumberOfComment()); // int(5)
echo getNumberOfComment(); // 5
$commentNumber = getNumberOfComment();
echo $commentNumber; // 5
4-4. 引数2つ・戻り値あり
function sumPrice($int1, $int2) {
$int3 = $int1 + $int2;
return $int3;
}
$total = sumPrice(3, 5);
echo $total; // 8
💡 関数を呼び出すときに渡す変数名は、関数側の引数名と一致させなくてもOK(値だけが渡される)。
まとめ表
| 構文 | 使うタイミング |
|---|---|
for |
繰り返す回数が決まっている |
while |
繰り返す回数が決まっていない |
switch |
1つの値で複数分岐したい(分岐が少ないならif推奨) |
function |
同じ処理をまとめて再利用したい |