可変長引数

ユーザー定義関数は、可変長引数をサポートしている。可変長引数とは、引数が、2個だったり、5個だったり、個数が定まっていないこと。

可変長引数の取得には、func_get_args()func_get_arg()func_num_args()などの組み込み関数を使う。

  • func_get_args(): ユーザー定義関数の引数リストを、配列として返す。
  • func_get_arg(): ユーザー定義関数の引数リストから、指定したインデックスの引数の値をひとつ返す。
  • func_num_args(): ユーザー定義関数に渡した引数の数を返す。

サンプル

func_get_args()

<?php
function sample() {
    $args = func_get_args();
    foreach ( $args as $arg ) {
        $sum += $arg;
    }
    echo "<p>合計: {$sum}</p>";
}
sample( 1 );
sample( 1, 2 );
sample( 1, 2, 3 );
sample( 1, 2, 3, 4 );
sample( 1, 2, 3, 4, 5 );
?>

↓↓↓出力結果↓↓↓

合計: 1
合計: 3
合計: 6
合計: 10
合計: 15

func_get_arg()

<?php
function sample() {
    $args = func_get_arg( 3 );
    echo "<p>インデックスが3の引数の値: {$args}</p>";
}
sample( 1, 2, 3, 4, 5 );
?>

↓↓↓出力結果↓↓↓

インデックスが3の引数の値: 4

func_num_args()

<?php
function sample() {
    $args = func_num_args();
    echo "<p>引数の数: {$args}</p>";
}
sample( 1, 2, 3, 4, 5 );
?>

↓↓↓出力結果↓↓↓

引数の数: 5

スポンサード リンク

カテゴリー: PHP, ユーザー定義関数 タグ: パーマリンク