Я хочу создать функцию, которая может потребовать несколько неизвестных аргументов. В настоящее время я не определяю список аргументов. Определение функции выглядит так
public static function SafeJoin()
а потом я использую $arguments_list = func_get_args();
внутри функции, чтобы получить аргументы в список.
Проблема этого подхода заключается в том, что не существует явного способа узнать, что функция может получать несколько аргументов. Существуют ли какие-либо подходы к проблеме, кроме использования массива в качестве явного аргумента.
Есть. Но был добавлен в версии PHP 5,6.
function myFunction(...$params)
{
echo '<pre>';
print_r($params);
echo '</pre>';
}
Внутренняя функция $params
это простой массив. Вы можете вызвать функцию, например: myFunction(1,'foo',250,$bar);
Других решений пока нет …