Aakash Sahai Aakash Sahai - 1 year ago 103
PHP Question

how to expand an array elements as separate parameters to a function

I have an array of colors having dynamic values which depends on database. now these values are required in a function which takes values only like this function('para1','para2','para3','para4')
where param1 to param4 are color values in an array.
Problem is how can i parse these values to that function in the above stated format.Only a programminng logic required.Language is php.

Suppose dynamic array is color[]=('red','maroon','blue','green');
and these value should be passed to this function like :setLineColor('red','maroon','blue','green');

I m using this function for creating graphs.(Lib using PHP_graphlib: link: http://www.ebrueggeman.com/phpgraphlib/documentation.php)
Any other suggested library is welcomed.Plz provide a simple example with it.

Answer Source

You can use the function call_user_func_array.

$colors = array('red','maroon','blue','green');
call_user_func_array('setLineColor', $colors);

If you want to call the method of an object, you can use this instead:

$graph = new ...
$colors = array('red','maroon','blue','green');
call_user_func_array(array($graph, 'setLineColor'), $colors);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download