Php 我可以制作一个函数数组吗?

Php 我可以制作一个函数数组吗?,php,arrays,function,hook,Php,Arrays,Function,Hook,我可以创建一个函数数组并使用foreach循环执行函数吗 比如: 这是添加操作的函数 function add_action($action){ global $actions; $actions[] = $action; } 这是一个示例函数: function check_Url(){ if(isset($_GET['gettest'])){ echo '<script>alert(\'This is a test\');</script>'; } }

我可以创建一个函数数组并使用foreach循环执行函数吗

比如:

这是添加操作的函数

function add_action($action){
global $actions;
$actions[] = $action;
}
这是一个示例函数:

function check_Url(){
 if(isset($_GET['gettest'])){
    echo '<script>alert(\'This is a test\');</script>';
 }
}
函数检查\u Url(){
如果(isset($\u GET['gettest'])){
回显“警报”(“这是测试”);
}
}

然后添加函数:add_action(check_Url())

使用
调用用户函数

global $actions = array();

function add_action($action){
global $actions;
$actions[] = $action;
}

add_action('check_Url');
add_action('function2');

foreach ($actions AS $action) {
    call_user_func($action);
}

听起来可能,但是一个坏主意可能的
$action
应该是
$action()
来调用。它是创建一个钩子,例如在网页的标题中。因此,您可以使用add_action()向标题添加函数。您是我的英雄Sheikh Heera!非常感谢你!谢谢徐大卫!Sheikh Heera指出,$action应该是$action(),这是有效的。你认为哪种方法更好?将字符串添加到$actions[]以调用$action(),而不是将函数添加到$actions[]并调用call\u user\u func($action)?
global $actions = array();

function add_action($action){
global $actions;
$actions[] = $action;
}

add_action('check_Url');
add_action('function2');

foreach ($actions AS $action) {
    call_user_func($action);
}