Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

Аргументы функций php

Всем привет! Сегодня мы с вами рассмотрим какие расширенные возможности предлагает нам php для работы с аргументами функции.

Допустим у нас есть следующий код:

function sum($a,$b){
    echo $a+$b;
}

sum(10,23);

Здесь у нас просто выводится сумма двух чисел 10, 23 и используется два аргумента.

Теперь попробуем вызвать функцию sum() с одним аргументом:

function sum($a,$b){
    echo $a+$b;
}

sum(10);

В результате у нас произойдет ошибка. Так как в функции указаны два обязательных аргумента, а мы при вызове передаем только один.

Мы можем просто вызвать функцию с нулевым вторым аргументом и все будет работать:

sum(10, 0);

Но есть решение и получше. Можно установить значение аргумента по умолчанию в самой функции, пример:

function sum($a,$b=0){
    echo $a+$b;
}
sum(10);

Теперь если мы вызовем функцию sum() передав ей всего один аргумент у нас в качестве значения второго аргумента по умолчанию будет 0. Это мы определили в самой функции просто написав $b=0 в качестве второго аргумента функции. Мы можем для аргумента устанавливать любое значение по умолчанию. Только важно помнить что значение по умолчанию используется в качестве значения аргумента только в том случае, когда при вызове функции этот аргумент не передается. Пример:

function sum($a,$b=0){
    echo $a+$b;
}

sum(10,20);

В результате выполнения функции мы получаем 30. Два аргумента складываются, значение по умолчанию не срабатывает так как мы передали все аргументы в функцию.

В php есть очень интересная функция func_get_args(). Она вызывается в контексте самой функции и возвращает массив аргументов которые были переданы в текущую функцию. Причем сами аргументы в функции уже можно не указывать.

Давайте немного умодифицируем нашу функцию sum():

function sum(){
    $arg = func_get_args();
    $sum = 0;
    foreach($arg as $key => $value){
        $sum += $value;
    }
    echo $sum;
}
sum(100,20,30,60);

Здесь с помощью функции func_get_args() в функцию sum() мы можем передавать сколько угодно аргументов или вообще их не передавать. И у нас на выходе функция sum() будет считать общую сумму всех передаваемых аргументов.

На этом данная статья подошла к концу.

Я желаю вам успехов и удачи! Пока!

Оцените статью

Еще статьи

JavaScript ошибки

Трейты php

Javascript window

Полоса прокрутки css

tkinter создание окна

Сжатие строк php

константы php 7

clipboard javascript

Как я пришел к этому.

Комментарии

Проверочный код

В данном разделе пока нет комментариев!

История

    ПОДПИСКА

    • Подпишись и получай информацию о выходе новых статей на почту! Просто введите свою почту, нажмите кнопку подписаться. На почту должно будет прийти сообщение с потверждением подписки. Если сообщение не пришло проверьте раздел спам или попробуйте другую почту. Также по всем техническим проблемам вы можете написать в поддержку

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.