НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

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. W3Schools українською. Уроки для початківців

En

PHP Функції


Справжня сила PHP полягає в його функціях.

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


Вбудовані функції PHP

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

Будь ласка, перегляньте наші посилання на PHP, щоб отримати повний огляд Вбудованих функцій PHP.


Визначені користувачем функції PHP

Крім вбудованих функцій PHP, можна створювати власні функції.

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

Створіть визначену користувачем функцію в PHP

Оголошення функції, визначеної користувачем, починається зі слова function:

Синтаксис

function functionName() {
  код для виконання;
}

Примітка: Назва функції повинна починатися з літери або символу підкреслення. Назви функцій НЕ чутливі до регістру.

Порада: Дайте функції ім’я, яке відображає те, що вона робить!

У прикладі нижче ми створюємо функцію під назвою "writeMsg()". Відкриваюча фігурна дужка ( { ) вказує на початок коду функції, а закриваюча фігурна дужка ( } ) вказує на кінець функції. Функція виводить "Hello world!". Щоб викликати функцію, просто напишіть її ім’я після дужок ():

Приклад

<?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 днів" змінено на int(5), і він поверне 10
?>
Спробуйте самі »

Щоб указати strict, нам необхідно встановити declare(strict_types=1);. Це має бути в першому рядку PHP файлу.

У наступному прикладі ми намагаємося надіслати до функції як число, так і рядок, але тут ми додали декларацію strict:

Приклад

<?php declare(strict_types=1); // strict вимога

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

Декларація strict змушує речі використовуватися за призначенням.


PHP Значення аргументу за замовчуванням

У наступному прикладі показано, як використовувати параметр за замовчуванням. Якщо ми викликаємо функцію setHeight() без аргументів, вона приймає значення за замовчуванням як аргумент:

Приклад

<?php declare(strict_types=1); // strict вимога
function setHeight(int $minheight = 50) {
  echo "Висота є : $minheight <br>";
}

setHeight(350);
setHeight(); // використовуватиме стандартне значення 50
setHeight(135);
setHeight(80);
?>
Спробуйте самі »

PHP Функції - Повернення значень

Щоб дозволити функції повертати значення, використовуйте інструкцію return:

Приклад

<?php declare(strict_types=1); // strict вимога
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. Подібно до оголошення типу для аргументів функції, увімкнення суворої вимоги викличе "Fatal Error" через невідповідність типу.

Щоб оголосити тип для функції, що повертається, додайте двокрапку (:) і тип прямо перед початковою фігурною дужкою ( { ) під час оголошення функції.

У наступному прикладі ми вказуємо тип повернення для функції:

Приклад

<?php declare(strict_types=1); // strict вимога
function addNumbers(float $a, float $b) : float {
  return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Спробуйте самі »

Ви можете вказати інший тип повернення, ніж типи аргументів, але переконайтеся, що повертається правильний тип:

Приклад

<?php declare(strict_types=1); // strict вимога
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!";
}