PHP変数関数に関するいくつかの例

怪我咯
リリース: 2023-03-11 16:44:01
オリジナル
1177 人が閲覧しました

PHP は 変数関数 の概念をサポートしています。これは、変数名の後にかっこが付いている場合、PHP は変数の値と同じ名前の関数を探し、それを実行しようとすることを意味します。変数関数は、コールバック関数や関数テーブルなどのいくつかの目的を実装するために使用できます。

変数関数 (例: echo 、 print 、 unset() 、 isset() 、 empty() 、 includerequire および同様の言語構造は使用できません。これらの構造体を可変引数関数として使用するには、独自のラッパー関数が必要です。

例 #1 変数関数の例

<?php
function  foo () {
    echo  "In foo()<br />\n" ;
}

function  bar ( $arg  =  &#39;&#39; ) {
    echo  "In bar(); argument was &#39; $arg &#39;.<br />\n" ;
}

// 使用 echo 的包装函数
function  echoit ( $string )
{
    echo  $string ;
}

$func  =  &#39;foo&#39; ;
$func ();         // This calls foo()

$func  =  &#39;bar&#39; ;
$func ( &#39;test&#39; );   // This calls bar()

$func  =  &#39;echoit&#39; ;
$func ( &#39;test&#39; );   // This calls echoit()
?>
ログイン後にコピー

変数関数の構文を使用して、オブジェクトのメソッドを呼び出すこともできます。

例 #2 変数メソッドの例

<?php
class  Foo
{
    function  Variable ()
    {
         $name  =  &#39;Bar&#39; ;
         $this -> $name ();  // This calls the Bar() method
     }

    function  Bar ()
    {
        echo  "This is Bar" ;
    }
}

$foo  = new  Foo ();
$funcname  =  "Variable" ;
$foo -> $funcname ();    // This calls $foo->Variable()

?>
ログイン後にコピー

静的メソッドを呼び出す場合、関数呼び出しは静的プロパティよりも優先されます:

例 #3 変数メソッドと静的プロパティの例

<?php
class  Foo
{
    static  $variable  =  &#39;static property&#39; ;
    static function  Variable ()
    {
        echo  &#39;Method Variable called&#39; ;
    }
}

echo  Foo :: $variable ;  // This prints &#39;static property&#39;. It does need a $variable in this scope.
$variable  =  "Variable" ;
Foo :: $variable ();   // This calls $foo->Variable() reading $variable in this scope.

?>
ログイン後にコピー

以上がPHP変数関数に関するいくつかの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート