Php 调用方法时传递变量

Php 调用方法时传递变量,php,function,methods,Php,Function,Methods,我试图在调用方法时传递变量。我正在尝试这样做: $c->house_num.$id($name); 方法的名称是house_num(number)。然后我想传递另一个变量$name 我遇到了一个错误,正确的方法是什么?谢谢 $c->house_num($id,$name); 然后使用类似 function house_num($id,$name){ switch($id){ //call functions... } 你应该使用: $func = 'house_num_'.

我试图在调用方法时传递变量。我正在尝试这样做:

 $c->house_num.$id($name);
方法的名称是house_num(number)。然后我想传递另一个变量$name

我遇到了一个错误,正确的方法是什么?谢谢

$c->house_num($id,$name);
然后使用类似

function house_num($id,$name){
switch($id){
 //call functions...
}

你应该使用:

$func = 'house_num_'.$id;

$c->$func($name);

$c->{'house_num'.$id}($name)
你应该在这里得到一个未定义的常量house\u num通知。为什么方法名中的ID是一部分,而不是另一个参数?@Ryan我的观点是你不应该有多个
house\u num
方法。你应该有一个
house_num($number,$name)
方法。我评论了如何使用,但请尽量听@Barmar。。。为什么?