Skip to main content

Функции

Синтаксис: 

function [&] имя_функции([parameter,...]) {

  return $perem;
}

& - передача по ссылке

Параметры по умолчанию

function getPreferences($whichPreference = 'all')

Функция, возвращающая текст

<?php function column() {
  ?>
  </td><td>
  <?php }

Вложенные объявления:

  • Не ограничивают видимость внутренней функции, которая может быть вызва­на в любом месте вашей программы.
  • Автоматически не получает параметры внешней функции.
  • Внутренняя функ­ция не может быть вызвана, пока не была вызвана внешняя функция,
  • Нельзя вызвать из кода, обработанноrо после внешней функции

Функция с динамическим количеством переменных

function getPreferences()
  • func_get_args() - массив всех переданных параметров функции.
  • func_num_args()  -  количество  параметров,  переданных  функции.
  • func_get_arg($num)  -  параметр  с  определенным  номером. 

При отсутствии аргумента будет выведено предупреждение.

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

Если после переменной добавить (), то будет вычислено значение переменной, произойдет поиск функции с именем равным значению и выполнение этой функции.

function_exist($fname) определяет наличие функции с данным именем

Анонимная функция (замыкание)

usort($array, function($a, $b){
  return strlen($a) - strlen($b)
})

Для передачи внутрь переменных используется use

usort($array, function($a, $b) use ($Someperem){
  if ($Someperem == 'random') {return rand(0,2) - 1;}
  else {
    return strlen($a) - strlen($b)
    }
})