Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Ваш интернет-бизнес" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
ExCode.ru - программирование на высоком уровне
ExCode.ru - программирование на высоком уровне | ||||||||||||||||||||||||||||||||||||||||||||
Выпуск №26 ( 2006.02.26 )
|
||||||||||||||||||||||||||||||||||||||||||||
Здравствуйте, уважаемые подписчики!Если Вы это читаете значит первая мая рассылка оказалась не такой уж и плохой, или Вам было лень отписаться ;) |
||||||||||||||||||||||||||||||||||||||||||||
Новости копьютерного мира:
|
||||||||||||||||||||||||||||||||||||||||||||
Интернет-магазин для программистов:
|
||||||||||||||||||||||||||||||||||||||||||||
Статья номера:
Переменное число параметровАвтор: Котеров Д.В.
Как мы уже знаем, функция может иметь несколько параметров, заданных по умолчанию. Они перечисляются справа налево, и их всегда фиксированное количество. Однако иногда такая схема нас устроить не может. Например, пусть мы захотели написать функцию в стиле echo, т. е., функцию, которая принимает один или более параметров (сколько именно — неизвестно на этапе определения функции). Пусть она должна вывести эти параметры "лесенкой" — каждый следующий на новой строке с отступом от предыдущего (согласен, пример немного надуман, но все же вполне подходит для иллюстрации функций с переменным количеством параметров). Вот как мы можем это сделать (листинг 11.6): Листинг 11.6. Переменное число параметров функции
Обратите внимание на то, что при описании myecho() мы указали пустые скобки в качестве списка параметров, словно функция не получает ни одного параметра. На самом деле в PHP при вызове функции можно указывать параметров больше, чем задано в списке аргументов — в этом случае никакие предупреждения не выводятся (но если фактическое число параметров меньше, чем указано в описании, PHP выдаст сообщение об ошибке). "Лишние" параметры как бы игнорируются, в результате пустые скобки в myecho() позволяют нам в действительности передать ей сколько угодно параметров. Для того чтобы все же иметь доступ к "проигнорированным" параметрам, существуют три встроенные в PHP функции, которые я сейчас подробно опишу. int func_num_args() Возвращает общее число аргументов, переданных функции при вызове. mixed func_get_arg(int $num) Возвращает значение аргумента с номером $num, заданного при вызове функции. Нумерация, как всегда, отсчитывается с нуля. list func_get_args() Возвращает список всех аргументов, указанных при вызове функции. Думаю, что применение этой функции оказывается практически всегда удобнее, чем первых двух. Перепишем наш пример с применением последней функции (листинг 11.7): Листинг 11.7. Использование fuct_get_args()
Мы используем здесь цикл foreach для перебора аргументов, а также оператор отключения ошибок @, чтобы PHP не "ругался" на то, что переменная $iне определена при первом "обороте" цикла. Новые статьи на сайте ExCode.ru: |
||||||||||||||||||||||||||||||||||||||||||||
Новые файлы на сайте ExCode.ru: Всего новых файлов: 26
|
||||||||||||||||||||||||||||||||||||||||||||
Послесловие:
Вот и всё на сегодня. Как всегда оставляю своё мыло ( и верёвку ;) ) спамерам, MadvEX@excode.ru . |
||||||||||||||||||||||||||||||||||||||||||||
В избранное | ||