PHP / 6. Функции

Функции помогают разрабатывать структурированный код, который можно использовать неоднократно. Они позволяют скрыть детали, так что код становится более гибким и легко читаемым. Без функций не- возможно написать легко поддерживаемые программы из-за необхо- димости непрерывно обновлять одни и те же блоки кода во многих местах и во многих файлах.
Статьи раздела '6. Функции':
Возвращение более одного значения
Задача Необходимо вернуть из функции более одного значения. Решение Верните массив и используйте функцию list() для разделения элементов: function averages($stats) { ... return array($median, $mean, $mode); } list($med...
Возвращение значений по ссылке
Задача Необходимо вернуть значение по ссылке, а не по значению. Это позволяет избежать создания еще одной копии переменной. Решение Синтаксис возвращения переменной по ссылке подобен синтаксису передачи ее по ссылке. Однако в...
Возвращение информации об ошибке
Задача Необходимо показать ошибку, произошедшую в результате работы функции. Решение Возвращаем значение false: function lookup($name) { if (empty($name)) { return false; } ... } if (false !== lookup($name)) { /* реакция...
Вызов переменных функций
Задача Необходимо вызывать различные функции в зависимости от значения переменной. Решение Используйте переменные переменные: function eat_fruit($fruit) { print "chewing $fruit."; } $function = 'eat_fruit'; $fruit = 'kiw...
Доступ к глобальной переменной внутри функции
Задача Необходимо получить доступ к глобальной переменной внутри функции. Решение Поместите глобальную переменную в локальную область видимости с помощью ключевого слова global: function eat_fruit($fruit) { global $chew_c...
Доступ к параметрам функций
Задача Необходимо получить доступ к значениям, переданным в функцию. Решение Этот доступ можно получить посредством имен из прототипа функции: function commercial_sponsorship($letter, $number) { print "This episode of Ses...
Именованные параметры
Задача Необходимо задавать аргументы функции по имени, а не просто по их местоположению в вызове функции. Решение Определите функцию с одним параметром, но сделайте его ассоциативным массивом: function image($img) { $tag ...
Передача значений по ссылке
Задача Необходимо передать переменную в функцию, так чтобы эта переменная сохраняла любые изменения, происходящие с ее значением внутри функции. Решение Для того чтобы функция принимала аргументы по ссылке, а не по значению, ...
Пропуск определенных возвращаемых значений
Задача Функция возвращает несколько значений, но нам нужны лишь некоторые из них. Решение Пропустить переменные позволяет функция list(): // Интересуют только минуты function time_parts($time) { return explode(':', $time...
Создание динамических функций
Задача Необходимо создавать и определять функцию во время выполнения программы. Решение Это делается при помощи функции create_function(): $add = create_function('$i,$j', 'return $i+$j;'); $add(1, 1); // возвращает 2 О...
Создание функции, принимающей переменное количество аргументов
Задача Необходимо определить функцию, принимающую переменное количество аргументов. Решение Передайте массив и поместите в него переменные аргументы: // определение среднего группы чисел function mean($numbers) { // иниц...
Установка значений по умолчанию для параметров функции
Задача Необходимо, чтобы параметр получил значение по умолчанию, если вызывающий функцию не передал для него никакого значения. Например, если в функцию вывода таблицы не передается значение ширины таблицы, то по умолчанию для эт...

Страницы: 1