Создание функций с переменным числом аргументов

Скорее всего, вы уже знаете, что PHP позволяет нам создавать функции с необязательными аргументами. Сейчас я покажу функцию, в которой число аргументов может меняться от случая к случаю.

Но для начала, вспомним как мы создаём функции обычным образом:
// функция с двумя необязательными параметрами
function foo($arg1 = '', $arg2 = '') {
    echo "arg1: $arg1\n";
    echo "arg2: $arg2\n";
 
}
 
foo('hello','world');
/* выведет:
arg1: hello
arg2: world
*/
 
foo();
/* выведет:
arg1:
arg2:
*/

Теперь посмотрим на то, как можно написать функцию с неограниченным количеством аргументов. Для этого будет использовать метод func_get_args():
// не указываем аргументы
function foo() {
 
    // возвращает массив, переданных аргументов
    $args = func_get_args();
 
    foreach ($args as $k => $v) {
        echo "arg".($k+1).": $v\n";
    }
 
}
 
foo();
/* ничего не выведет */
 
foo('hello');
/* выведет
arg1: hello
*/
 
foo('hello', 'world', 'again');
/* выведет
arg1: hello
arg2: world
arg3: again
*/

Теги:
число аргументов
Добавлено: 10 Мая 2018 18:40:35 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...