как развернуть элементы массива как отдельные параметры для функции - PullRequest
10 голосов
/ 17 февраля 2011

У меня есть массив цветов, имеющих динамические значения, которые зависят от базы данных.теперь эти значения требуются в функции, которая принимает значения, подобные этой функции ('para1', 'para2', 'para3', 'para4'), где param1 - param4 - значения цвета в массиве.Проблема в том, как я могу проанализировать эти значения для этой функции в указанном выше формате. Требуется только логика программирования. Язык: php.

Предположим, что динамический массив имеет цвет [] = ('red', 'maroon','цвет морской волны');и эти значения должны быть переданы этой функции следующим образом: setLineColor ('red', 'maroon', 'blue', 'green');

Я использую эту функцию для создания графиков (Lib использует PHP_graphlib:ссылка: http://www.ebrueggeman.com/phpgraphlib/documentation.php) Приветствуется любая другая предложенная библиотека. Пожалуйста, приведите простой пример с ней.

Ответы [ 3 ]

21 голосов
/ 17 февраля 2011

Вы можете использовать функцию call_user_func_array .

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

Если вы хотите вызвать метод объекта, вы можете использовать это вместо:

21 голосов
/ 14 августа 2016

Начиная с PHP 5.6, вы можете использовать распаковку аргумента с оператором тройной точки:

setLineColor(...$colors);
0 голосов
/ 17 февраля 2011
function($color[0], $color[1], $color[2], $color[3])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...