我试图在函数中调用变量函数,但它没有按预期工作。
这是我的代码:
$arg1 = "Beef";
$arg2 = "Potatoes";
$string1 = "Tomatoes";
$string2 = "Onions";
function func1 ($arg1, $arg2){
echo $arg1.' '.$arg2;
}
$var1 = "func1";
function func2($string1, $string2, $var1) {
echo $string1." & ".$string2;
$var1($arg1, $arg2);
}
func2($string1, $string2, $var1);
当我致电func2
时,它只会回复"西红柿&葱"全球不是$arg1
和$arg2
吗?为什么在函数func2
中没有看到它们?如何在$var1
内调用func2
及其参数?
答案 0 :(得分:3)
由于范围可变,Func1期待你传递给它的2个参数。
更改
function func2($string1, $string2, $var1) {
echo $string1." & ".$string2;
$var1($arg1, $arg2);
}
到
function func2($string1, $string2, $var1) {
Global $arg1, $arg2;
echo $string1." & ".$string2;
$var1($arg1, $arg2);
}