ДОБРО ПОЖАЛОВАТЬ НА САЙТ PHPLIST Всё о PHP |
Написать письмо авторам |
Определения и вызовы функцийФункция объявляется при помощи ключевого слова function, после которого в фигурных скобках записываются различные операторы, составляющие тело функции: function MyFunction() { // операторы } Если функция принимает аргументы, то они записываются как переменные в объявлении функции. Аргумент функции представляет собой переменную, передаваемую в тело функции для дальнейшего использования в операциях. В случае, когда функция принимает больше одного аргумента, эти переменные разделяются запятыми: function MyFunction($var, $var1, $var2) Если функция возвращает какое-либо значение, в теле функции обязательно должен присутствовать оператор return: function MyFunction() { return $ret; // возвращается значение переменной $ret } Пример простой функции. <? function get_sum() { $var = 5; $var1 = 10; $sum = $var + $var1; return $sum; } echo(get_sum()); // выводит 15 ?> В этом примере показана функция, вычисляющая сумму двух чисел. Эта функция не принимает ни одного аргумента, а просто вычисляет сумму и возвращает полученный результат. После этого, она вызывается в теле оператора echo для вывода результата в браузер. Модифицируем эту функцию так, чтобы она не возвращала полученный результат, а выводила его в браузер. Для этого достаточно внести оператор echo в тело функции: <? function get_sum() { $var = 5; $var1 = 10; $sum = $var + $var1; echo $sum; } get_sum(); ?> Переменные $var и $var1 мы можем объявить как аргументы и в этом случае в теле функции их определять не надо: <? function get_sum($var, $var1) { $sum = $var + $var1; echo $sum; } get_sum(5,2); // выводит 7 ?> Переменная, содержащая значение, переданное через аргумент, называется параметром функции. В рассмотренных примерах аргументы функции передаются по значению, т. е. значения параметров изменяется только внутри функции, и эти изменения не влияют на значения переменных за пределами функции: <? function get_sum($var) // аргумент передается по значению { $var = $var + 5; return $var; } $new_var = 20; echo(get_sum($new_var)); // выводит 25 echo("<br>$new_var"); // выводит 20 ?> Для того чтобы переменные переданные функции сохраняли свое значение при выходе из нее, применяется передача параметров по ссылке. Для этого перед именем переменной необходимо поместить амперсанд (&): function get_sum($var, $var1, &$var2) В этом случае переменные $var и $var1 будут переданы по значению, а переменная $var2 - по ссылке. В случае, если аргумент передается по ссылке, при любом изменении значения параметра происходит изменение переменной-аргумента: <? function get_sum(&$var) // аргумент передается по ссылке { $var = $var + 5; return$var; } $new_var = 20; echo(get_sum($new_var)); // выводит 25 echo("<br>$new_var"); // выводит 25 ?>
|
Наверх |