Вызов функции PHP с переменным количеством аргументов
При работе с функциями PHP, которые принимают переменное количество аргументов, количество параметров передаваемое в функцию, может быть определено на основе длины массива. Для этого PHP предоставляет несколько методов:
call_user_func_array
Если аргументы хранятся в массиве, можно использовать функцию call_user_func_array. Эта функция принимает массив в качестве второго параметра, который содержит аргументы функции.
Пример:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; call_user_func_array('test', $params);
Этот код выведет:
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
for Цикл
Другой вариант — использовать цикл for для перебора массива и передачи каждого элемента в качестве аргумента функцию.
Пример:
function test($num1, $str1, $str2) { var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; for ($i = 0; $iЭтот код выведет:
array(1) { [0] => int 10 } array(1) { [0] => string 'glop' (length=4) } array(1) { [0] => string 'test' (length=4) }Используя эти методы, вы можете эффективно вызывать функции PHP с переменным количеством аргументов в зависимости от длины массива.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3