
【PHP】引数 – 関数に値を与える
関数の呼び出し時に値を与える引数と呼ばれる仕組みがあります。
ここでは関数と引数について解説します。
なお、関数の引数については次の記事をご覧ください。
-
引数
引数とは
引数とは、関数を呼び出す時に値を与える仕組みです。
引数を使うことで、柔軟性のあるプログラムを作成できるようになります。
基本構文
関数で引数を使う場合、定義と呼び出し時に引数に関する定義を記述します。
関数の定義
function 関数名( $引数変数名 ) {
// 処理1
// 処理2
// ・・・・・・
}
関数の定義では、呼び出し時に与えた値を記憶する引数変数を丸括弧()
の中に定義します。
与える値が複数ある場合はカンマ(,
)区切りで必要な数だけ、引数変数を記述します。
関数の呼び出し
関数名(引数値);
関数の呼び出しでは与える値を丸括弧()
の中に記述します。
引数値はリテラルまたは変数、数式で記述することができ、複数ある場合はカンマ(,
)区切りで必要な数だけ、記述できます。
サンプルコード
引数がある関数のサンプルコードをご覧ください。
<?php
function lets_programming($greeting) {
echo $greeting."\n";
echo "プログラミンを学んでいきましょう。\n";
echo "今回は関数の引数を理解しましょう。\n";
echo "\n";
}
lets_programming("おはようございます!");
?>
おはようございます!
プログラミンを学んでいきましょう。
今回は関数の引数を理解しましょう。
3~8行目で関数を定義しており、3行目の$greetingが引数になります。
引数は変数として定義し、通常の変数と同様に任意の変数名を付けることができます。
そして、10行目で関数を呼び出しており、引数値として"おはようございます!"
を与えています。
引数値は$greetingに記憶され、関数の処理が実行されます。
実行結果からも$greeting
に値が記憶されていることが分かります。
また、呼び出しごとに引数値を変えることができます。
<?php
function lets_programming($greeting) {
echo $greeting."\n";
echo "プログラミンを学んでいきましょう。\n";
echo "今回は関数の引数を理解しましょう。\n";
echo "\n";
}
lets_programming("おはようございます!");
lets_programming("こんにちは!");
lets_programming("こんばんわ!");
?>
おはようございます!
プログラミンを学んでいきましょう。
今回は関数の引数を理解しましょう。
こんにちは!
プログラミンを学んでいきましょう。
今回は関数の引数を理解しましょう。
こんばんわ!
プログラミンを学んでいきましょう。
今回は関数の引数を理解しましょう。
同じ関数を呼び出していますが、呼び出し時の引数値が異なるため、関数の実行結果が変わっていることが分かります。
このように引数を使うことで、処理を変えることができます。
引数が複数ある場合
基本構文で説明した通り、引数は複数使うことができます。
次のサンプルコードをご覧ください。
<?php
function lets_programming($greeting, $title) {
echo $greeting."\n";
echo "プログラミンを学んでいきましょう。\n";
echo "今回は".$title."を理解しましょう。\n";
echo "\n";
}
lets_programming("おはようございます!", "変数");
lets_programming("こんにちは!", "for文");
lets_programming("こんばんわ!", "関数");
?>
おはようございます!
プログラミンを学んでいきましょう。
今回は変数を理解しましょう。
こんにちは!
プログラミンを学んでいきましょう。
今回はfor文を理解しましょう。
こんばんわ!
プログラミンを学んでいきましょう。
今回は関数を理解しましょう。
先ほどのコードから次の点を変更しています。
- 3行目で引数に$titleを追加
- 6行目で引数の$titleを使用
- 関数の呼び出し(10~12行目)で引数値を追加
引数を複数ある場合は、関数の定義の丸括弧内にカンマ(,
)区切りで引数変数を記述します。
※ ($greeting, $title)
の部分です。
そして、関数の呼び出しも同様に、引数値をカンマ(,
)区切りで記述します。
引数値は前から順番に、引数変数に順次記憶されます。
もし、3つ、4つと引数を追加したい場合は、2つ目と同様にカンマ(,
)区切りで記述しましょう。
演習問題
2つの値の四則演算結果を出力するプログラムを作成してください。
なお、下記条件を満たすものとします。
- 2つの値は標準入力で与える
- 四則演算とその結果の出力は関数にする
$ php practice.php
number1 > 9
number2 > 4
9 + 4 = 13
9 - 4 = 5
9 * 4 = 36
9 / 4 = 2.25
$ php practice.php
number1 > 5
number2 > -3
5 + -3 = 2
5 - -3 = 8
5 * -3 = -15
5 / -3 = -1.6666666666667
$ php practice.php
number1 > 8
number2 > 0
8 + 0 = 8
8 - 0 = 8
8 * 0 = 0
8 / 0 = ----
BMIと肥満度を出力するプログラムを作成してください。
なお、下記条件を満たすものとします。
- BMIの計算式は『体重(kg)÷ (身長(m))2』とする
- BMIの計算は関数にする
- 体重と身長は標準入力で与える
- 肥満度は次の表の通りとする
BMI | 肥満度 |
---|---|
18.5未満 | 低体重 |
18.5以上、25.0未満 | 標準体重 |
25.0以上、30.0未満 | 肥満(レベル1) |
30.0以上、35.0未満 | 肥満(レベル2) |
35.0以上、40.0未満 | 肥満(レベル3) |
40.0以上 | 肥満(レベル4) |
$ php practice.php
体重(kg) > 50
身長(cm) > 155
BMI = 20.811654526535
肥満度:標準体重
$ php practice.php
体重(kg) > 47
身長(cm) > 168
BMI = 16.652494331066
肥満度:低体重
まとめ
関数の引数は呼び出し時に値を与える仕組みです。
関数の定義と関数の呼び出しの丸括弧内に引数変数・引数値を記述することで値の受け渡しができるようになり、複数ある場合は、カンマ(,
)区切りで記述することで必要な数だけ追加することができます。