投稿

ラベル(可変関数)が付いた投稿を表示しています

[PHP] 可変関数/可変変数について

可変関数は関数名を変数に設定して、変数に応じて対応する処理を呼び出すことが出来る関数です。 また、関数と同様に、変数に関しても可変にすることが出来ます。 可変関数 構文 $変数() [実装例]通常の関数を可変関数として呼び出す コード function test_variable_function(string $value) { echo $value . "\n"; } $function = "test_variable_function"; $function("call variable function test."); 実行結果 このコードは正しく実行でき、以下のように出力されます。 call variable function test. [実装例]オブジェクトのメソッドを可変関数として呼び出す - 1 クラスオブジェクトのメソッドを可変関数で呼び出す場合は、呼び出すための変数を配列で指定し、第一引数にオブジェクトのインスタンス、第二引数にメソッド名を指定します。 コード class Test { function test_variable_function(string $value) { echo $value . "\n"; } } $function = [new Test(), "test_variable_function"]; $function("call variable function test."); [実装例]オブジェクトのメソッドを可変関数として呼び出す - 2 クラスオブジェクトのメソッドを可変関数で呼び出す場合は、呼び出すための変数を配列で指定し、第一引数にオブジェクトのインスタンス、第二引数にメソッド名を指定します。 コード class Test { function test_variable_function(string $value) { echo $value . "\n"; } } $test = new Test(); $function