购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.4 回调类型和动态调用函数

首先了解两个动态调用函数的函数:

● call_user_func()函数,参数一指定调用的函数,参数二开始指定调用函数的参数。

● call_user_func_array()函数,参数一指定调用的函数,参数二使用数组指定调用函数的参数。

回调类型,在PHP文档中称为callable类型,可以将函数作为参数进行传递。先来看下面的代码。

本例中,首先定义了factory_add()和factory_sub()函数,它们都使用了两个参数,其功能分别是返回两个参数的相加或相减的结果。其次使用call_user_func()函数调用这两个函数,其中,参数一是字符串形式的函数名,从第二个参数开始设置实际调用函数的参数。代码执行结果见图5-9。

图 5-9

实际应用中,为了简化代码,对于一次性使用的回调函数,还可以直接在应用的位置定义为匿名函数,如下面的代码。

    <?php
    echo call_user_func(function($x,$y){return $x*$y;},10,99);
    ?>

本例中,匿名函数返回了两个参数的乘法运算结果,执行代码会显示990。

此外,在调用函数前,可以使用function_exists()函数判断需要的函数是否存在,如代码function_exists("factory_add"),当factory_add()函数存在时返回true,否则返回false。 DEZQ2vVB3sWDb/BdMRhd8USQErzoL2d8KB7/cNbtkgg8o9Dq2XOsqDN8Kftjp3OH

点击中间区域
呼出菜单
上一章
目录
下一章
×