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