雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

PHP 可变函数

2024-09-12 71

1. 可变函数


在PHP中如果将函数名称赋予字符串类型的变量, 但是在使用该变量时, 如果带有小括号, 那么PHP引擎将解析函数

PHP官方手册可变函数概念 : https://www.php.net/manual/zh/functions.variable-functions.php

特别注意 : 可变函数不能用于例如 echo()、print()、unset()、isset、empty()、include()、require() 以及类似的语言结构。这些语言结构想要用作可变函数则需要使用自己的包装函数(自定义函数)实现。

2. 使用示例


正确使用

$debug = 'var_dump';$debug(true); //等价于var_dump(true);

错误示范: echo 是一个语言结构, 并不是函数

$bug = 'echo';$bug(456);//Call to undefined function echo()

包装 echo 的可变函数

$bug = 'echoit';$bug(456);/** * 使用echo的包装函数 */function echoit($data){    echo $data;}

3. 函数补充


返回所有已定义函数的二维数组

get_defined_functions();

user 自定义函数

internal 系统函数

^ array:2 [▼  "internal" => array:1291 [?]  "user" => array:59 [?]]
更新于:3个月前
赞一波!2

文章评论

评论问答