Π‘Ρ‚Π°Ρ‚ΡŒΡ

πŸ“˜ Π“Π»Π°Π²Π° 6. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² PHP

Ѐункция — это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² любом мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ понятным.


πŸ”§ ОбъявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

function привСтствиС() {
    echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!";
}

привСтствиС(); // Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

πŸ”’ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ

function ΠΏΡ€ΠΈΠ²Π΅Ρ‚($имя) {
    echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, $имя!";
}

ΠΏΡ€ΠΈΠ²Π΅Ρ‚("Анна"); // ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Анна!

βž• НСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

function сумма($a, $b) {
    return $a + $b;
}

$Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = сумма(3, 5);
echo $Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚; // 8

🧰 ЗначСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

function привСтствиС($имя = "Π“ΠΎΡΡ‚ΡŒ") {
    echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, $имя!";
}

привСтствиС();         // ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π“ΠΎΡΡ‚ΡŒ!
привСтствиС("Иван");   // ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Иван!

🧠 Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ return ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

function ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚($число) {
    return $число * $число;
}

echo ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚(4); // 16

πŸ“¦ Π Π°Π±ΠΎΡ‚Π° с массивами Π² функциях

function ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠœΠ°ΡΡΠΈΠ²($массив) {
    foreach ($массив as $элСмСнт) {
        echo $элСмСнт . "<br>";
    }
}

$Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹ = ["яблоко", "Π±Π°Π½Π°Π½", "Π³Ρ€ΡƒΡˆΠ°"];
ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠœΠ°ΡΡΠΈΠ²($Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹);

⚠️ Π’Π°ΠΆΠ½ΠΎ: ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости (scope)

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ снаруТи:

function тСст() {
    $Π²Π½ΡƒΡ‚Ρ€ΠΈ = "я Ρ‚ΡƒΡ‚";
}
echo $Π²Π½ΡƒΡ‚Ρ€ΠΈ; // ΠžΠ¨Π˜Π‘ΠšΠ!

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

$число = 5;
function ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ() {
    global $число;
    $число++;
}
ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ();
echo $число; // 6
PHP
Для ΠΎΡ‚Π²Π΅Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ