如何将数组元素作为单独的参数扩展到函数

时间:2011-02-17 09:15:37

标签: php arrays function graph

我有一组颜色,其动态值取决于数据库。现在这些值在一个函数中是必需的,它只取值这个函数('para1','para2','para3','para4')  其中param1到param4是数组中的颜色值。 问题是如何以上述格式将这些值解析为该函数。只需要一个程序逻辑。语言是php。

假设动态数组是color [] =('red','maroon','blue','green'); 并且这些值应该传递给这个函数,如:setLineColor('red','maroon','blue','green');

我使用此函数创建图形。(使用PHP_graphlib的Lib:link:http://www.ebrueggeman.com/phpgraphlib/documentation.php) 欢迎使用任何其他建议的库.Plz提供了一个简单的例子。

3 个答案:

答案 0 :(得分:21)

自PHP 5.6起,您可以将argument unpacking与三点运算符一起使用:

setLineColor(...$colors);

答案 1 :(得分:20)

您可以使用call_user_func_array功能。

<?php
$colors = array('red','maroon','blue','green');
call_user_func_array('setLineColor', $colors);
?>

如果要调用对象的方法,可以改为使用它:

<?php
$graph = new ...
$colors = array('red','maroon','blue','green');
call_user_func_array(array($graph, 'setLineColor'), $colors);
?>

答案 2 :(得分:-3)

function($color[0], $color[1], $color[2], $color[3])