У меня есть массив:
$r = array(1,2,42,55);
и я хочу вызвать encrypt();
функция хешидов
который принимает следующие значения:
encrpyt(1,2,42,55);
Я попробовал extract($r)
но он не работает.
Вы можете вызвать обратный вызов для каждого из элементов массива. проверьте array_map, если это поможет.
Это уродливо, но есть такое:
eval ("encrypt (". implode (",", $ r). ");");
Вот ваше обязательное напоминание о том, что eval потенциально опасен и используется редко, если когда-либо!
Изменить: Забыл о call_user_func_array . Это ваш ответ! Образец кода:
$r = array(1,2,42,55); $hashids = new Hashids\Hashids('this is my salt'); $hash = call_user_func_array(array($hashids, "encrypt"), $r);