我有:调用函数 - 变量
echo $test->getNum1();
echo $test->getNum2();
echo $test->getNum9();
我怎样才能让事情:
for(i=0;i<10;i++){
echo $test->getNum . $i .();
}
?
我有:调用函数 - 变量
echo $test->getNum1();
echo $test->getNum2();
echo $test->getNum9();
我怎样才能让事情:
for(i=0;i<10;i++){
echo $test->getNum . $i .();
}
?
for(i=0;i<10;i++){
$method = 'getNum' . $i;
echo $test->$method();
}
Alexs的回答是正确的。但* clean *方法是用参数创建一个方法'getNum()'。只是说';) – cem 2011-06-05 22:06:17
为补充Alex's answer,你也可以为一个功能通过使用call_user_func
或call_user_func_array
指定变量名。这些作为他们的第一个参数需要callback,所以你可以在其中提供一个字符串。在这种情况下,你可以做类似的情况如下:
for($i=0; $i<10; $i++){
$method = array($test, 'getNum' . $i);
echo call_user_func($method);
}
这一次将是最简单和最强大的(也就是说,如果你不想写5条线,反射API):
for($i=0; $i<10; $i++) {
echo call_user_func(array($test, "getNum{$i}"));
}
这里真正的问题是:为什么你有多个功能做同样的事情? – Tomalak 2011-06-05 22:06:46