0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PHP】for・while・switch・関数でつまずいたポイントまとめ

0
Posted at

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 同じ処理をまとめて再利用したい
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?