Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

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

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP 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 Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

Справочник по PHP

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP PHP-архив Часовые пояса PHP

PHP- функции


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

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


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

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

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


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

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

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

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

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

Синтаксис

function functionName() {
  code to be executed;
}

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

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

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

Пример

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

writeMsg(); // call the function
?>


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

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

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

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

Пример

<?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 объявления вызовет «фатальную ошибку», если тип данных не соответствует.

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

Пример

<?php
function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is changed to int(5), and it will return 10
?>

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

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

Пример

<?php declare(strict_types=1); // strict requirement

function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is enabled and "5 days" is not an integer, an error will be thrown
?>

Декларация strictзаставляет вещи использоваться по назначению.


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

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

Пример

<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
  echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>

PHP-функции — возвращаемые значения

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

Пример

<?php declare(strict_types=1); // strict requirement
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

PHP 7 также поддерживает объявления типов для return оператора. Как и в случае с объявлением типа для аргументов функции, включение строгого требования вызовет «фатальную ошибку» при несоответствии типа.

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

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

Пример

<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
  return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>

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

Пример

<?php declare(strict_types=1); // strict requirement
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!";
}