Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

ФУНКЦИИ: Пользовательские функции - Передача аргументов


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5 для начинающих

Аннотация

Передача даных в функцию по значению и по ссылке; необязательные аргументы; переменное количество аргументов.

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

function foo($arg1, $arg2, $arg3)
{
    print "$arg1 $arg2 $arg3";
}

foo ('A', 'B', 'C');
            
A B C

Количество передаваемых аргументов должно соответствовать заявленным аргументам.

foo('A', 'B');
Warning:  Missing argument 3 for foo()

Тип передаваемых данных также должен соответствовать ожидаемому, иначе результат может оказаться непредвиденным. Непосредственно при исполнении тип передаваемых данных не проверяется (если, конечно, об этом не позаботиться при разработке функции), но полезные сведения о требуемом типе аргументов для данной функции можно почерпнуть из ее прототипа (прототипы функций мы рассмотрим немного позже).

Подсказка

Проверить тип переданных данных можно с помощью функции gettype() или функций is_int(), is_float(), is_bool(), is_array() и т. п.

function foo($arg)
{
    if (is_int($arg)) {
        print 'Ok.';
    } else {
        print 'ERROR: Invalid variable type.';
    }
}
                
foo(1);
Ok.
foo(3.14);
ERROR: Invalid variable type.

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

Created with DocBook Created with Libxslt


В избранное