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

Aak*_*hai 11 php arrays graph function

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

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

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

Fab*_*ler 25

从PHP 5.6开始,您可以使用三点运算符进行参数解包:

setLineColor(...$colors);
Run Code Online (Sandbox Code Playgroud)

  • 非常好,比 `call_user_func_array` 更容易看懂,而且如果你想将“固定”参数与 `fprintf(STDOUT, $format,...$args)` 这样的数组结合起来,也很实用。 (2认同)

Enr*_*ahn 21

您可以使用函数call_user_func_array.

<?php
$colors = array('red','maroon','blue','green');
call_user_func_array('setLineColor', $colors);
?>
Run Code Online (Sandbox Code Playgroud)

如果要调用对象的方法,可以使用此方法:

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