Написать письмо авторам  
 

УЧЕБНИК PHP


справочник функций <Оnline>

Об учебнике

Обновление

Оглавление

  1. Основы PHP
  2. Операторы языка PHP
  3. Строковые функции
  4. Массивы
  5. Функции
  6. Работа с файлами
  7. Регулярные выражения
  8. Сессии и cookies в PHP
  9. Работа с FTP
  10. Проверка данных
  11. Гостевая книга
  12. PHP и MySQL

Продолжение следует




Функции

Предыдущая Следующая

Определения и вызовы функций



Функция объявляется при помощи ключевого слова 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
?>


Предыдущая Следующая

 
  Наверх