ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

PHP Учебник

PHP СТАРТ PHP Интро PHP Установка PHP Синтаксис PHP Комментарии PHP Переменные PHP Echo / Print PHP Типы данных PHP Строки PHP Числа PHP Математика PHP Константы PHP Операторы PHP If...Else...Elseif PHP Switch PHP Циклы PHP Функции PHP Массивы PHP Суперглобальные PHP RegEx

PHP Формы

PHP Обработка формы PHP Проверка формы PHP Обязательные поля формы PHP Форма URL/E-mail PHP Заполнение формы

PHP Расширенный

PHP Дата и время PHP Подключение файлов PHP Обработка файлов PHP Файл открыть/читать PHP Файл создать/записать PHP Файл Загрузить PHP Куки PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP Callback функции PHP JSON PHP Исключения

PHP ООП

PHP Что такое ООП PHP классы/объекты PHP Конструктор PHP Деструктор PHP Модификаторы доступа PHP Наследование PHP Константы PHP Абстрактные классы PHP Интерфейсы PHP Трейты PHP Статические методы PHP Статические свойства PHP Пространства имён PHP Итерации

MySQL База данных

MySQL База данных MySQL Подключение MySQL Создать БД MySQL Создать таблицы MySQL Вставить данные MySQL Получить последний ID MySQL Вставить несколько записей MySQL Подготовленные инструкции MySQL Выбрать данные MySQL Where MySQL Order By MySQL Удаление данных MySQL Обновление данных MySQL Ограничение данных

PHP XML

PHP XML Парсеры PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Интро AJAX PHP AJAX База данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры PHP Компилятор PHP Викторина PHP Упражнения PHP Сертификат

PHP Справочник

PHP Обзор PHP Массив PHP Календарь PHP Дата PHP Каталог PHP Ошибка PHP Исключение PHP Файловая система PHP Фильтр PHP FTP PHP JSON PHP Ключевые слова PHP Libxml PHP Почта PHP Математика PHP Разное PHP MySQLi PHP Сеть PHP Output Control PHP RegEx PHP SimpleXML PHP Поток PHP Строка PHP Обработка переменных PHP XML Парсер PHP Zip PHP Часовые пояса

PHP. Уроки для начинающих

PHP Функции


Настоящая сила PHP заключается в его функциях.

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


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

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

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


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

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

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

Создайте пользовательскую функцию в PHP

Объявление пользовательской функции начинается со слова function:

Синтаксис

function functionName() {
    выполняемый код;
}

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

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

В приведенном ниже примере мы создаем функцию с именем "writeMsg()". Открывающая фигурная скобка ({) обозначает начало кода функции, а закрывающая фигурная скобка (}) обозначает конец функции. Функция выводит "Привет, мир!". Чтобы вызвать функцию, просто напишите её имя, а затем обычные скобки ():

Пример

<?php
function writeMsg() {
    echo "Hello world!";
}

writeMsg(); // вызвать функцию
?>
Попробуйте сами »

PHP Аргументы функции

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

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

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

Пример

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

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

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

Пример

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

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

PHP - слабо типизированный язык

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

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

В PHP 7 были добавлены объявления типов. Это дает нам возможность указать ожидаемый тип данных при объявлении функции, и, добавив объявление strict он выдаст "Fatal Error" (фатальную ошибку) если тип данных не будет соответствовать.

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

Пример

<?php
function addNumbers(int $a, int $b) {
    return $a + $b;
}
echo addNumbers(5, "5 days");
// т.к. strict НЕ включен "5 days" заменяется на int(5), и возвращает 10
?>
Попробуйте сами »

Чтобы указать 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");
// так как strict включен и "5 days" не является целым числом, будет выдано сообщение об ошибке
?>
Попробуйте сами »

Объявление strict заставляет вещи использоваться по назначению.


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

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

Пример

<?php declare(strict_types=1); // строгое требование
function setHeight(int $minheight = 50) {
    echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // будет использовать значение по умолчанию 50
setHeight(135);
setHeight(80);
?>
Попробуйте сами »

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

Чтобы разрешить функции возвращать значение, используйте оператор return:

Пример

<?php declare(strict_types=1); // строгое требование
function sum(int $x, int $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);
?>
Попробуйте сами »

PHP Объявления типа return

PHP 7 также поддерживает объявления типов для оператора return. Как и в случае объявления типа для аргументов функции, включение строгого требования приведет к "Fatal Error" при несовпадении типов.

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

В следующем примере мы указываем тип return для функции:

Пример

<?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);
?>
Попробуйте сами »

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

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

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

Пример

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

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

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

PHP Упражнения

Проверьте себя с помощью упражнений

Упражнение:

Создайте функцию с именем myFunction.

 {
  echo "Hello World!";
}