2011-02-17 70 views
7

我有一個具有動態值的顏色數組,這取決於數據庫。現在這些值在只有像這個函數那樣取值的函數中是必需的('para1','para2','para3','para4') 其中param1到param4是數組中的顏色值。 問題是我如何解析這些值的上述格式的功能。只有編程邏輯required.language是php。假設動態數組是color [] =('red','maroon','blue','green'); 這些值應該傳遞給這個函數,如:setLineColor('red','maroon','blue','green'); (使用PHP_graphlib的鏈接:鏈接:http://www.ebrueggeman.com/phpgraphlib/documentation.php) 歡迎任何其他建議的庫。Plz提供了一個簡單的示例。如何將數組元素作爲單獨的參數擴展到函數

回答

19

您可以使用功能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); 
?> 
-3
function($color[0], $color[1], $color[2], $color[3]) 
+0

最糟糕的答案....我認爲你沒有讀過那個顏色值不固定..他們取決於數據庫值... – 2011-02-17 10:50:01

+0

我知道他們不固定 - 這就是爲什麼我引用數組,其中包含動態VA梅毒。 – 2011-02-17 12:10:47

11

自PHP 5.6,你可以使用argument unpacking與三聯點運算符:

setLineColor(...$colors); 
相關問題