Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

PHP Учебник


PHP Формы


PHP Продвинутый


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP Функции



Встроенные функции PHP

PHP имеет более 1000 встроенных функций, которые могут быть вызваны непосредственно из скрипта для выполнения конкретной задачи. Пожалуйста, ознакомьтесь с нашим справочником PHP для полного обзора.


Пользовательские функции PHP

Помимо встроенных функций PHP, можно создавать свои собственные функции.

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

Создание функции

Объявление пользовательской функции начинается с ключевого слова function, за которым следует имя функции.

Открывающая фигурная скобка { указывает на начало кода функции, а закрывающая фигурная скобка } указывает на конец функции.

Примечание: Имя функции не чувствительно к регистру и должно начинаться с буквы или символа подчеркивания.

Синтаксис

function имяФункции($параметр1, $параметр2) {
  // исполняемый код
  return $значение; // необязательно
}

Следующий пример создает функцию с именем myMessage():

Пример

function myMessage() {
  echo "Hello world!";
}

Совет: Дайте функции имя, которое отражает то, что она делает!


Вызов функции

Чтобы вызвать функцию, просто напишите ее имя, за которым следуют круглые скобки ().

Функция ниже выводит "Hello world!":

Пример

Вызовите функцию myMessage()

function myMessage() {
  echo "Hello world!";
}

myMessage();
Попробуйте сами »


Параметры функций PHP

Информация может быть передана функциям через параметры. Параметр подобен переменной.

Параметры указываются после имени функции внутри круглых скобок. Вы можете добавить столько параметров, сколько хотите, просто разделяя их запятыми.

Следующий пример имеет функцию с одним параметром ($fname). Когда вызывается функция familyName(), мы также передаем имя, например ("Jani"), и имя используется внутри функции, которая выводит несколько разных имен, но одинаковую фамилию:

Пример

function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
Попробуйте сами »

Следующий пример имеет функцию с двумя параметрами ($fname, $year):

Пример

function familyName($fname, $year) {
  echo "$fname Refsnes. Born in $year.<br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
Попробуйте сами »

Значение параметра по умолчанию в PHP

Следующий пример показывает, как использовать параметр по умолчанию.

Если мы вызовем функцию setHeight() без параметра, она примет значение по умолчанию:

Пример

function setHeight($height = 50) {
  echo "Высота: $height <br>";
}

setHeight(350);
setHeight(); // примет значение по умолчанию 50
Попробуйте сами »

Функции PHP - Возврат значений

Оператор return немедленно завершает выполнение функции и возвращает значение обратно в строку кода, которая вызвала функцию:

Пример

function sum($x, $y) {
  $z = $x + $y;
  return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
Попробуйте сами »

Передача аргументов по ссылке

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

Когда аргумент функции передается по ссылке, изменения аргумента также изменяют переменную, которая была передана. Чтобы превратить аргумент функции в ссылку, используйте оператор & перед аргументом/параметром:

Пример

Используйте аргумент, передаваемый по ссылке, для обновления переменной:

function add_five(&$value) {
  $value += 5;
}

$num = 2;
add_five($num);
echo $num;
Попробуйте сами »

Переменное количество параметров

Используя оператор ... перед параметром функции, функция принимает неизвестное количество параметров. Это также называется вариативной функцией.

Аргумент вариативной функции становится массивом.

Пример

Функция, которая не знает, сколько аргументов получит:

function sumMyNumbers(...$x) {
  $n = 0;
  $len = count($x);
  for($i = 0; $i < $len; $i++) {
    $n += $x[$i];
  }
  return $n;
}

$a = sumMyNumbers(5, 2, 6, 2, 7, 7);
echo $a;
Попробуйте сами »

Вы можете иметь только один аргумент переменной длины, и он должен быть последним аргументом.

Пример

Вариативный аргумент должен быть последним аргументом:

function myFamily($lastname, ...$firstname) {
  $txt = "";
  $len = count($firstname);
  for($i = 0; $i < $len; $i++) {
    $txt = $txt."Привет, $firstname[$i] $lastname.<br>";
  }
  return $txt;
}

$a = myFamily("Doe", "Jane", "John", "Joey");
echo $a;
Попробуйте сами »

Если вариативный аргумент не является последним, вы получите ошибку.

Пример

Наличие оператора ... на первом из двух аргументов вызовет ошибку:

function myFamily(...$firstname, $lastname) {
  $txt = "";
  $len = count($firstname);
  for($i = 0; $i < $len; $i++) {
    $txt = $txt."Привет, $firstname[$i] $lastname.<br>";
  }
  return $txt;
}

$a = myFamily("Doe", "Jane", "John", "Joey");
echo $a;
Попробуйте сами »

PHP - язык со слабой типизацией

В приведенных выше примерах обратите внимание, что нам не нужно было указывать PHP, какой тип данных имеет переменная.

PHP автоматически связывает тип данных с переменной в зависимости от ее значения. Поскольку типы данных не заданы, вы можете делать такие вещи, как добавление строки к целому числу, не вызывая ошибки.

Начиная с PHP 7, были добавлены объявления типов. Это дает нам возможность указать ожидаемый тип данных при объявлении функции, и добавление объявления strict приведет к "Фатальной ошибке", если тип данных не совпадает.

Чтобы указать strict режим, нам нужно установить declare(strict_types=1);. Это должно быть на самой первой строке PHP файла.

В следующем примере мы отправляем функции и число, и строку, но здесь мы добавили объявление strict:

Пример

<?php declare(strict_types=1); // строгое требование

function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// поскольку "5 days" не является целым числом, будет вызвана ошибка
?>
Попробуйте сами »

Объявление strict заставляет вещи использоваться предполагаемым образом.


Объявления типа возвращаемого значения в PHP

PHP также поддерживает объявления типов для оператора return.

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

В следующем примере мы указываем тип возвращаемого значения (float) для функции:

Пример

<?php declare(strict_types=1); // строгое требование

function addNumbers(float $a, float $b) : float {
  return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Попробуйте сами »

Вы также можете указать другой тип возвращаемого значения, отличный от типов аргументов, но убедитесь, что возвращаемое значение имеет правильный тип:

Пример

<?php declare(strict_types=1); // строгое требование

function addNumbers(float $a, float $b) : int {
  return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
Попробуйте сами »


×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.