У меня есть функция, которая ожидает, что ей будут переданы 9 аргументов. Первый ожидаемый аргумент — строка, остальные — целые числа.
Вот функция:
getProductPrice('red', 8, 1.6, 2.15, 0, 0, 0, 17.6, 0);
Когда это запускается, он работает нормально. Однако, когда я запускаю это так:
getProductPrice("'red'".','.$arguments);
Это не работает.
"'red'".','.$arguments
выходы: «красный», 8, 1,6, 2,15, 0, 0, 0, 17,6, 0
Если бы кто-нибудь мог сказать мне, как использовать переменную $arguments вместо всех аргументов?
В итоге я подозревал, что это не работает, так это то, что $arguments выводит строку, поэтому я посмотрел, как преобразовать строку чисел, разделенных запятыми, в аргументы функции php.
Я наткнулся на это:
$params = explode(',', $str);
call_user_func_array("func", $params);
Я не могу понять, как использовать это решение по двум причинам:
1. Мне нужно передать строку вместе с числами.
2. Просто указать имя моей функции там, где в этом примере указано «func». не будет работать, потому что это функция cakephp, которая требует от меня поставить $this->ModelName->functionname, что разбивает первый аргумент в функции call_user_func_array()
Любые идеи, как помочь мне, ребята?
Я мог бы просто поместить переменные, которые заставляют $arguments выводить то, что они делают, но для получения каждого из этих чисел требуется тонна сложной логики и математики, поэтому вызовы моих функций выглядели бы нелепо.
Спасибо еще раз.