加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP可变函数的概念是什么,有什么样的用处

发布时间:2023-05-31 13:52:51 所属栏目:PHP教程 来源:
导读:今天我们来学习关于“PHP可变函数的概念是什么,有什么样的用途”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一
今天我们来学习关于“PHP可变函数的概念是什么,有什么样的用途”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
 
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。
 
可变函数不能用于例如 echo, print, unset(), isset(), empty(), include, require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。
 
Example #1 可变函数示例
 
<?php
 
function foo() {
 
    echo "In foo()<br />\n";
 
}
 
function bar($arg = '') {
 
    echo "In bar(); argument was '$arg'.<br />\n";
 
}
 
// 使用 echo 的包装函数
 
function echoit($string)
 
{
 
    echo $string;
 
}
 
$func = 'foo';
 
$func(); // This calls foo()
 
$func = 'bar';
 
$func('test'); // This calls bar()
 
$func = 'echoit';
 
$func('test'); // This calls echoit()
 
?>
 
也可以用可变函数的语法来调用一个对象的方法。
 
Example #2 可变方法范例
 
<?php
 
class Foo
 
{
 
    function Variable()
 
    {
 
        $name = 'Bar';
 
        $this->$name(); // This calls the Bar() method
 
    }
 
    function Bar()
 
    {
 
        echo "This is Bar";
 
    }
 
}
 
$foo = new Foo();
 
$funcname = "Variable";
 
$foo->$funcname(); // This calls $foo->Variable()
 
?>
 
当调用静态方法时,函数调用要比静态属性优先:
 
Example #3 Variable 方法和静态属性示例
 
<?php
 
class Foo
 
{
 
    static $variable = 'static property';
 
    static function Variable()
 
    {
 
        echo 'Method Variable called';
 
    }
 
}
 
echo Foo::$variable; // This prints 'static property'. It does need a $variable in this scope.
 
$variable = "Variable";
 
Foo::$variable(); // This calls $foo->Variable() reading $variable in this scope.
 
?>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!