はじめに
前回の記事では、PHPの「値渡し」と「参照渡し」について紹介しました。
前回の記事
本記事では、PHPの可変長引数について紹介します。
可変長引数
可変長引数とは、引数の数が決まっていない引数のことです。ピリオドを3つ「...」書くことで、可変長引数を表します。
可変長引数の書き方は次のとおりです。
可変長引数の使用例
それでは、実際にPHPのプログラムで可変長引数の使い方を紹介します。
スポンサーリンク
次の例では、関数「total」の引数に可変長引数「...$score」を使用しています。そして、関数「total」を呼び出す時は「total(2,4,5)」のようにカンマ区切りで引数を指定しています。
[可変長引数の例]
<?php
function total(...$score) {
$totalScore = 0;
foreach($score as $value) {
// スコアを加算
$totalScore += $value;
}
// 合計値を返す
return $totalScore;
}
// 関数の実行
$totalScore = total(2,4,5);
// 合計スコアを出力
print("合計スコア:$totalScore");
?>
[実行結果]
合計スコア:11
関数を呼び出す時に使う「...」
可変長引数のときに使うピリオド3つ「...」は、次のように関数を呼び出すときに使うこともできます。
固定長の引数(上の例では$a, $b, $c)に対して、「...」を使って引数に配列を指定する(上の例では...$array)ことで配列の値を展開して、固定長の引数にあてはめられます。
[関数を呼び出す時に使うピリオド3つの例]
<?php
function sum($a, $b, $c) {
return $a + $b + $c;
}
$array = array(1,2,3);
// 関数の実行
$totalValue = sum(...$array);
// 合算値を出力
print("合算値:$totalValue");
?>
[実行結果]
合算値:6
上記の例では、関数「sum」の引数に固定長の引数を3つ指定しています。そして、関数「sum」を呼び出すときに「sum(...$array)」のようにピリオド3つ「...」を使い引数に配列を指定しています。
関数「sum」の引数には、配列「$array」の値が展開され、次のように格納されています。
- 関数「sum」の引数「$a」:$arrayの0番目の値「1」
- 関数「sum」の引数「$b」:$arrayの1番目の値「2」
- 関数「sum」の引数「$c」:$arrayの2番目の値「3」
そして、実行結果には「$a」と「$b」と「$c」が加算された値「6」という結果が出力されています。
終わりに
本記事では、PHPの可変長引数について紹介しました。
次回の記事では、変数のスコープ(ローカル変数、グローバル変数、静的変数)について紹介します。