Funkcje PHP
Prawdziwa siła PHP tkwi w jego funkcjach.
PHP ma ponad 1000 wbudowanych funkcji, a dodatkowo możesz tworzyć własne funkcje niestandardowe.
Wbudowane funkcje PHP
PHP ma ponad 1000 wbudowanych funkcji, które można wywołać bezpośrednio z poziomu skryptu, aby wykonać określone zadanie.
Zapoznaj się z naszą dokumentacją PHP, aby uzyskać pełny przegląd wbudowanych funkcji PHP .
Funkcje zdefiniowane przez użytkownika PHP
Oprócz wbudowanych funkcji PHP, możliwe jest tworzenie własnych funkcji.
- Funkcja to blok instrukcji, których można używać wielokrotnie w programie.
- Funkcja nie zostanie wykonana automatycznie po załadowaniu strony.
- Funkcja zostanie wykonana przez wywołanie funkcji.
Utwórz funkcję zdefiniowaną przez użytkownika w PHP
Deklaracja funkcji zdefiniowanej przez użytkownika zaczyna się od słowa function
:
Składnia
function functionName()
{
code to be executed;
}
Uwaga: Nazwa funkcji musi zaczynać się od litery lub podkreślenia. W nazwach funkcji NIE jest rozróżniana wielkość liter.
Porada: Nadaj funkcji nazwę, która odzwierciedla jej działanie!
W poniższym przykładzie tworzymy funkcję o nazwie „writeMsg()”. Otwierający nawias klamrowy ( { ) wskazuje początek kodu funkcji, a zamykający nawias klamrowy ( } ) wskazuje koniec funkcji. Funkcja wyprowadza "Witaj świecie!". Aby wywołać funkcję, wystarczy wpisać jej nazwę, a następnie nawiasy kwadratowe ():
Przykład
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
Argumenty funkcji PHP
Informacje mogą być przekazywane do funkcji za pomocą argumentów. Argument jest jak zmienna.
Argumenty są podane po nazwie funkcji, w nawiasach. Możesz dodać dowolną liczbę argumentów, po prostu oddziel je przecinkiem.
Poniższy przykład ma funkcję z jednym argumentem ($fname). Gdy wywoływana jest funkcja familyName(), przekazujemy również imię (np. Jani), które jest używane wewnątrz funkcji, która wypisuje kilka różnych imion, ale jednakowe nazwisko:
Przykład
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
Poniższy przykład ma funkcję z dwoma argumentami ($fname i $rok):
Przykład
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
PHP to luźno pisany język
W powyższym przykładzie zauważ, że nie musieliśmy mówić PHP, jakiego typu danych jest zmienna.
PHP automatycznie kojarzy typ danych ze zmienną, w zależności od jej wartości. Ponieważ typy danych nie są ustawione w ścisłym tego słowa znaczeniu, możesz robić takie rzeczy jak dodawanie ciągu do liczby całkowitej bez powodowania błędu.
W PHP 7 dodano deklaracje typów. Daje nam to możliwość określenia oczekiwanego typu danych podczas deklarowania funkcji, a dodając strict
deklarację, wygeneruje „Błąd krytyczny”, jeśli typ danych jest niezgodny.
W poniższym przykładzie próbujemy wysłać do funkcji zarówno liczbę, jak i ciąg znaków bez użycia strict
:
Przykład
<?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
?>
Aby sprecyzować strict
musimy ustawić declare(strict_types=1);
. Musi to znajdować się w pierwszym wierszu pliku PHP.
W poniższym przykładzie próbujemy przesłać do funkcji zarówno liczbę, jak i ciąg znaków, ale tutaj dodaliśmy strict
deklarację:
Przykład
<?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
?>
Deklaracja strict
wymusza używanie rzeczy w zamierzony sposób.
Domyślna wartość argumentu PHP
Poniższy przykład pokazuje, jak używać parametru domyślnego. Jeśli wywołamy funkcję setHeight() bez argumentów, jako argument przyjmie ona domyślną wartość:
Przykład
<?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);
?>
Funkcje PHP - Zwracanie wartości
Aby funkcja zwróciła wartość, użyj return
instrukcji:
Przykład
<?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);
?>
Deklaracje typu zwracanych PHP
PHP 7 obsługuje również deklaracje typów dla return
instrukcji. Podobnie jak w przypadku deklaracji typu dla argumentów funkcji, włączenie ścisłego wymagania spowoduje zgłoszenie „Błądu krytycznego” w przypadku niezgodności typu.
Aby zadeklarować typ dla zwracanej funkcji, dodaj dwukropek (
:
) i typ tuż przed otwierającym nawiasem klamrowym ( {
) podczas deklarowania funkcji.
W poniższym przykładzie określamy typ zwracany dla funkcji:
Przykład
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Możesz określić inny typ zwracany niż typy argumentów, ale upewnij się, że zwracany jest prawidłowy typ:
Przykład
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>
Przekazywanie argumentów przez odniesienie
W PHP argumenty są zwykle przekazywane przez wartość, co oznacza, że kopia wartości jest używana w funkcji, a zmienna, która została przekazana do funkcji, nie może zostać zmieniona.
Kiedy argument funkcji jest przekazywany przez odwołanie, zmiany w argumencie zmieniają również zmienną, która została przekazana. Aby zamienić argument funkcji w odwołanie, &
używany jest operator:
Przykład
Użyj argumentu pass-by-reference, aby zaktualizować zmienną:
<?php
function add_five(&$value) {
$value += 5;
}
$num
= 2;
add_five($num);
echo $num;
?>