我需要传递可变数量的字符串来实例化不同的类。我总是可以对数组的大小进行切换:
switch(count($a)) {
case 1:
new Class(${$a[0]});
break;
case 2:
new Class(${$a[0]}, ${$a[1]});
break;
etc...
必须有更好的方法来做到这一点。如果我有一个字符串数组(“variable1”、“variable2”、“variable3”、...),我如何在不手动考虑每种可能性的情况下实例化一个类?
最佳答案
如果一定要这样做,可以试试:
$variable1 = 1;
$variable2 = 2;
$variable3 = 3;
$variable4 = 4;
$varNames = array('variable1', 'variable2', 'variable3', 'variable4');
$reflection = new ReflectionClass('A');
$myObject = $reflection->newInstanceArgs(compact($varNames));
class A
{
function A()
{
print_r(func_get_args());
}
}
关于php - 将可变数量的变量传递给 PHP 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707442/