У меня есть массив цветов, имеющих динамические значения, которые зависят от базы данных. теперь эти значения требуются в функции, которая принимает значения только как эта функция ('para1', 'para2', 'para3', 'para4'), где param1 to param4 – значения цвета в массиве. Проблема в том, как я могу разобрать эти значения для этой функции в вышеуказанном формате. Только для требуемой логики программирования. Язык – это php.
Предположим, что динамический массив имеет цвет [] = ('красный', 'бордовый', 'синий', 'зеленый'); и это значение должно быть передано этой функции, например: setLineColor («красный», «бордовый», «синий», «зеленый»);
Я использую эту функцию для создания графиков. (Lib с помощью PHP_graphlib: link: http://www.ebrueggeman.com/phpgraphlib/documentation.php ) Приветствуется любая другая предлагаемая библиотека. Plz предоставляет простой пример.
Вы можете использовать функцию 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); ?>
Начиная с PHP 5.6 вы можете использовать распаковку аргументов с помощью оператора triple-dot-operator:
setLineColor(...$colors);
function($color[0], $color[1], $color[2], $color[3])