func_get_arg

関数の概要

func_get_arg は、PHPの可変長引数関数の中で、指定した位置の引数を取得するための組み込み関数です。関数に渡された引数のうち、どれかひとつだけを取り出したい場合に便利です。事前に引数名を決めずに、位置で引数の値を取得できます。

パラメータの説明

  • int $arg_num – 取得したい引数の位置を0から始まるインデックスで指定します。

戻り値

指定した位置にある引数の値を返します。もし指定した引数の位置に対応する引数が存在しない場合は、警告が出て null を返します。

使用例

基本的な使い方

function myFunc() {
    $firstArg = func_get_arg(0);
    echo "1番目の引数は: " . $firstArg . "n";
}
myFunc("apple", "banana");

この例では、関数内で1番目の引数を取得し表示しています。結果は apple となります。

複数の引数を位置指定で取得する

function showArgs() {
    $second = func_get_arg(1);
    $third = func_get_arg(2);
    echo "2番目の引数: $secondn";
    echo "3番目の引数: $thirdn";
}
showArgs("one", "two", "three");

位置0ではなく1や2の引数を指定し、それぞれの値を取得して出力しています。

引数が指定されているかをチェックする使い方

function checkArgCount() {
    $numArgs = func_num_args();
    if ($numArgs > 2) {
        $thirdArg = func_get_arg(2);
        echo "3番目の引数は: $thirdArgn";
    } else {
        echo "3番目の引数は指定されていません。n";
    }
}
checkArgCount("a", "b");
checkArgCount("a", "b", "c");

引数の数を func_num_args() で確認したうえで、安全に引数を取得しています。

関連する関数

  • func_get_args() – 全ての引数を配列として取得する
  • func_num_args() – 関数に渡された引数の個数を取得する

まとめ

func_get_arg は、可変長引数関数内で特定の位置にある引数を取り出すのに役立つシンプルな関数です。位置を指定して引数を取得できるため、柔軟な関数設計が可能となります。引数が存在するかどうかは func_num_args() と組み合わせてチェックすることをおすすめします。実務でも可変長引数の処理でよく使われるため、覚えておくと便利です。