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

Функция - это именованный блок кода, в данном случае на языке PHP, который определяется один раз, а затем может вызываться на исполнение сколько угодно раз.

Определение функции выполняется с помощью ключевого слова function за которым указываются следующие компоненты:

Синтаксис определения функции выглядит следующим образом:

function имя_функции([параметры]) { блок кода }

Квадратные скобки ([]) означают необязательность. Теперь приведем простой пример определения функции:

<?php

  function hello() {
    echo "Привет из функции";
  }

?>

Для вызова функции используется оператор вызова, представляющий из себя пару круглых скобок. Завершается вызов функции как и все инструкции точкой с запятой (;):

<?php

  function hello() {
    echo "Привет из функции";
  }
  
  // вызов функции
  hello();

?>

При вызове функции исполняются инструкции, расположенные в ее теле.

Функции допускается определять в любом месте программы, это значит, что они не обязательно быть определены до их использования, исключая тот случай, когда функции определяются условно:

<?php

  $makefunc = true;

  /* Здесь нельзя вызвать функцию foo(), так как
    она еще не определена (оператор if еще не сработал). 
	Но мы можем вызвать здесь функцию bar(), 
	так как она уже определена внизу */

  bar();  // вызываем так как функция уже определена

  if ($makefunc) {
    // функция foo определяется только сейчас
    function foo() {
      echo "Я не существую до тех пор, пока выполнение программы меня не достигнет.\n";
    }
  }

  /* Теперь мы можем вызывать функцию foo(),
   поскольку $makefoo была интерпретирована как true */

  foo();

  function bar()  {
    echo "Я существую сразу с начала старта программы.\n";
  }

?>

Все функции в PHP имеют глобальную область видимости - они могут быть вызваны вне функции, даже если были определены внутри и наоборот:

<?php

  function func1() {
    function func2() {
    echo "Я не существую пока не будет вызвана func1().\n";
    }
  }

  /* пока нельзя вызвать func2(),
   поскольку она еще не определена. */

  func1();

  /* Теперь можно вызвать функцию func2(),
   вызов func1() сделал ее доступной. */

  func2();

?>

Чаще всего функции работают с каким-либо переданными ей значениями. Для того, чтобы функции можно было передать некоторые значения, в ней должны быть указаны параметры. Эти параметры по сути являются обычными переменными, которые инициализируются переданными значениями при вызове функции.

Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | Обратная связь