PHP传递函数作为参数语法

Jon*_*Jon 1 php syntax function

有人可以用PHP填写正确的语法吗?我有:

function mainFunction($str,$thingToDoInMain){
   $thingToDoInMain($str);
}

function printStr($str){
    echo $str;
}

mainFunction("Hello",printStr);
Run Code Online (Sandbox Code Playgroud)

我在WAMP上运行它,我得到一个错误/警告说

使用未定义的常量printStr - 在第5行假设'printStr'

...然后我按照需要在页面下方打印出"Hello".

那么,如何printStr在最后一行中引用函数来摆脱警告呢?我试过了$printStr,printStr()而且$printStr.提前致谢.

Han*_*nky 5

只需$thingToDoInMain 函数调用之前添加一个符号,使其成为正确的函数名,因为thingToDoInMain它本身不是函数名.而包含的值$thingToDoInMain是函数名称.

<?php
function mainFunction($str,$thingToDoInMain){
     $thingToDoInMain($str);   //Here $ is missing
}

function printStr($str){
    echo $str;
}

mainFunction("Hello","printStr");   // And these quotes
?>
Run Code Online (Sandbox Code Playgroud)

演示