Php 将数组中的变量作为函数参数传递?

Php 将数组中的变量作为函数参数传递?,php,class,Php,Class,我有一个函数,可以做类似的事情: function load_class($name){ require_once('classes/'.$name.'.php'); return new $name(); } 我想做的是修改它,这样我就可以做这样的事情 function load_class($name, $vars = array()){ require_once('classes/'.$name.'.php'); return new $name($array[0], $

我有一个函数,可以做类似的事情:

function load_class($name){
  require_once('classes/'.$name.'.php');
  return new $name();
}
我想做的是修改它,这样我就可以做这样的事情

function load_class($name, $vars = array()){
  require_once('classes/'.$name.'.php');
  return new $name($array[0], $array[1]);
}
其总的要点是

我希望能够传入一个值数组,该数组用作类的参数

我不想传入实际数组


这可能吗?

您可以用这种方式调用函数,但对于类构造函数,您应该使用:

您的代码可能如下所示:

function load_class($name, $vars = array()){
  require_once('classes/'.$name.'.php');
  $class = new ReflectionClass($name);
  return $class->newInstanceArgs($vars);
}

您可以使用这种方式调用函数,但对于类构造函数,您应该使用:

您的代码可能如下所示:

function load_class($name, $vars = array()){
  require_once('classes/'.$name.'.php');
  $class = new ReflectionClass($name);
  return $class->newInstanceArgs($vars);
}

当然,它被称为var args,您需要将其解包。看看这些例子


另请参见

当然,它被称为var args,您需要将其解包。看看这些例子


另请参见

如果您试图加载类,则可以使用
\u autoload
功能


更多信息

如果您试图加载类,则可以使用
\uu autoload
功能


更多信息

或更好地使用spl_autoload_register()+1或更好地使用spl\u自动加载\u寄存器()+1虽然您接受的答案肯定是正确的,但我鼓励您按照bharath的指示研究类自动加载。从您提供的代码来看,您似乎有点过于复杂了。虽然您接受的答案肯定是正确的,但我还是鼓励您研究bharath所指出的类自动加载。从您提供的代码来看,您似乎有点过于复杂了。