Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.
Количество передаваемых аргументов должно соответствовать заявленным аргументам.
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.
Следует помнить о том, что данные в функцию могут передаваться по значению и по ссылке; что не всегда аргументы бывают обязательными; что встречаются функции с переменным количеством аргументов. Далее рассмотрим все эти случаи более подробно.