ホームページ  >  記事  >  バックエンド開発  >  PHP変数関数の使用状況分析

PHP変数関数の使用状況分析

伊谢尔伦
伊谢尔伦オリジナル
2017-06-26 09:28:261219ブラウズ

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

変数関数は、言語構造、echo()、print()、unset()、isset()、empty()、include()、require()および同様のステートメントでは使用できません。 。これらの構造体を変数関数として使用するには、独自のラッパー関数を使用する必要があります。
例 #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()
?>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。