我想創建一個類對象並將其參數作爲數組傳遞。將數組作爲參數列表傳遞給類構造器
例如:
$array = array (
'param1' => 123,
'param1' => 456,
'param2' => 789
);
必須轉化爲設置一個數組列表,並傳遞給構造:
$a = new A();
我想創建一個類對象並將其參數作爲數組傳遞。將數組作爲參數列表傳遞給類構造器
例如:
$array = array (
'param1' => 123,
'param1' => 456,
'param2' => 789
);
必須轉化爲設置一個數組列表,並傳遞給構造:
$a = new A();
隨着call_user_func_array http://php.net/call_user_func_array
<?php
class A {
public function __construct () {
print_r (func_get_args ()) ;
}
}
$A = new A();
$params = array ('param' => 'value' , 'p1' => 'val') ;
call_user_func_array (array ($A , '__construct') , $params) ;
你可以使用反射
<?php
class A {
public function __construct () {
print_r (func_get_args ()) ;
}
}
$reflection = new ReflectionClass('A');
$reflection->newInstanceArgs(array('a' , 'b')) ;
<?php
class A
{
public function __construct($var=array()) { print_r($var); }
}
$a=new A(array('foo','bar','baz'));
?>
構造函數被調用兩次,但我不需要它。 – vvsh 2011-12-13 22:17:38