PHPでは変数に関数名を設定し、その変数の後に括弧(())を付けることで、変数に設定された関数を実行します。
これは、似た様な関数を作成した時に、何かの条件で関数の実行振り分ける時に使えるかと思います。
以下の例では、2個の関数を宣言し、関数名の配列を宣言し、繰り返し処理でそれぞれの関数を実行しています。
結果は以下の表示になります。
それぞれの関数が実行されたことが分かります。
可変関数の方法をクラスにも適用できます。 可変関数の様に別名のクラスを用意し、同じメソッドを持たせてみます。
この結果は以下の様に、クラスが順次生成され、「hello」メソッドが呼び出されることが分かります。
■関連記事
⇒【PHP】可変変数と可変クラスの使い方について
⇒【PHP】配列の中に参照変数を持つことで別々の変数の要素を操作する
⇒【PHP】配列の代入はクローンコピーになる
⇒【PHP】連想配列の様な「stdClass」の使い方について
⇒【PHP】POSTやGETなどのスーパーグローバル変数のアクセスはfilter_inputを使う方が安全らしい
⇒【PHP】array_keys:指定キー検索で見つからない場合の結果は何が返る
以下の例では、2個の関数を宣言し、関数名の配列を宣言し、繰り返し処理でそれぞれの関数を実行しています。
結果は以下の表示になります。
それぞれの関数が実行されたことが分かります。
可変関数の方法をクラスにも適用できます。 可変関数の様に別名のクラスを用意し、同じメソッドを持たせてみます。
この結果は以下の様に、クラスが順次生成され、「hello」メソッドが呼び出されることが分かります。
■関連記事
⇒【PHP】可変変数と可変クラスの使い方について
⇒【PHP】配列の中に参照変数を持つことで別々の変数の要素を操作する
⇒【PHP】配列の代入はクローンコピーになる
⇒【PHP】連想配列の様な「stdClass」の使い方について
⇒【PHP】POSTやGETなどのスーパーグローバル変数のアクセスはfilter_inputを使う方が安全らしい
⇒【PHP】array_keys:指定キー検索で見つからない場合の結果は何が返る