Нужно в функцию передать неограниченное количество аргументов из содержимого массива.
пример:
$arr = array('param1','param2','param3');//массив значений для передачи в функцию
func($arr);//вызов функции
function func()
{
$param = func_get_args();//получение параметров
}
структура $param в функции: array(0=>array(0=>'param1',1=>'param2',=>'param3'));
хочется получить array(0=>'param1',1=>'param2',=>'param3') без разбора внутри функции.
Может кто знает способ без eval ?
$param = '';
foreach ($arr as $v)
$param .= '"' . $v . '",';
$param = trim($param,',');
eval('func(' . $param . ');');//вызов функции и передача туда принятых параметров
Спустя 7 минут, 55 секунд (2.11.2011 - 12:25) Winston написал(а):
Так ?
$arr = array('param1','param2','param3');//массив значений для передачи в функцию
func($arr);//вызов функции
function func()
{
$param = func_get_args();//получение параметров
print_r(reset($param)); // Array ( [0] => param1 [1] => param2 [2] => param3 )
}
Спустя 13 минут, 49 секунд (2.11.2011 - 12:39) linker написал(а):
$arr = array('param1','param2','param3');
call_user_func_array('func', $arr);
function func()
{
$param = func_get_args();//получение параметров
}
Спустя 42 минуты, 3 секунды (2.11.2011 - 13:21) ZSH написал(а):
Winston
оно то так, но reset($param) внутри функции :)
linker
ДА! То что нужно, забыл за вызов пользовательских функций :o
Спасибо!
оно то так, но reset($param) внутри функции :)
linker
ДА! То что нужно, забыл за вызов пользовательских функций :o
call_user_func_array(array($obj,$method),$array_param);
Спасибо!