×
Vytvárame riešenia

Vytvárame funkcie v jazyku PHP - časť 2

Prvá časť venovaná funkciám v jazyku PHP predstavila základné spôsoby zápisu a volania funkcií. V tejto časti bude predstavené predávanie argumentov hodnotou a odkazom.

Predávanie argumentov hodnotou

Podobne ako jazyk C, aj PHP umožňuje predávať argumenty funkciám hodnotou a odkazom. Ak chce autor predávať argumenty hodnotou, použije štandardný prístup, kde argumenty zapisuje ako premenné alebo hodnoty. Pri predávaní argumentov hodnotou, sa zmena týchto hodnôt vo funkcii neprejaví na argumentoch po jej skončení. To znamená, že argumenty majú po skončení funkcie rovnakú hodnotu ako pred jej volaním.
Príklad: Predávanie argumentov hodnotou.
1
2
3
4
5
6
function displayMessage($name, $age) {
echo $name . "" . $age . " rokov.";
}
$my_name = "Matej";
displayMessage($my_name, 33);
Funkcia je volaná s dvoma argumentmi, kde prvým argumentom je premenná my_name a druhým literál (primitívna hodnota) 33. Premenná my_name obsahuje hodnotu Matej, ktorá bude spolu s literálom 33 predaná hlavičke funkcie.
Príklad: Zmena parametra name vo funkcii nemá dopad na premennú my_name mimo funkcie.
1
2
3
4
5
6
7
8
function displayMessage($name, $age) {
echo $name . "" . $age . " rokov." . "<br>";
$name = "Adam";
}
$my_name = "Matej";
displayMessage($my_name, 33);
echo $my_name . "<br>";
Správanie, keď lokálna premenná na konci funkcie stratí svoju platnosť, sa volá predávanie argumentu hodnotou. V prvej časti Vytvárame funkcie v jazyku PHP - časť 1 bolo spomenuté, že autor môže zmeniť hodnotu premennej tak, aby mala platnosť aj po skončení funkcie. To je možné buď prostredníctvom kľúčového slova GLOBAL, superglobálnej GLOBALS alebo cez predávanie argumentu odkazom. V tomto článku sa venujem len poslednej spomenutej možnosti.

Predávanie argumentu odkazom

Predávanie argumentu odkazom zabezpečí, že zmena hodnoty parametra bude premietnutá aj do zmeny hodnoty argumentu. Predávanie argumentu odkazom vytvorí znak &. Predávanie argumentu odkazom je možné zapísať dvoma spôsobmi. Prvý spôsob je pridanie znaku & pred argument. Druhý spôsob je pridanie znaku & pred parameter.
Príklad: Predávanie argumentu odkazom - zápis znaku & pred argument.
1
2
3
4
5
6
7
8
function displayMessage($name, $age) {
echo $name . "" . $age . " rokov." . "<br>";
$name = "Adam";
}
$my_name = "Matej";
displayMessage(&$my_name , 33);
echo $my_name;
Príklad: Predávanie argumentu odkazom - zápis znaku & pred parameter.
1
2
3
4
5
6
7
8
function displayMessage(&$name, $age) {
echo $name . "" . $age . " rokov." . "<br>";
$name = "Adam";
}
$my_name = "Matej";
displayMessage($my_name , 33);
echo $my_name;
Oba spôsoby zápisu znaku & zabezpečili, aby hodnota premennej my_name bola zmenená vo funkcii a zodpovedala hodnote parametru name. Po skončení funkcie premenná my_name nebude mať hodnotu, ktorú mala pred volaním funkcie. Jej hodnotou bude hodnota parametra (lokálnej premennej) name. V prípade, že by sa hodnota parametra name nezmenila, nezmenila by sa ani hodnota argumentu (v tomto prípade globálnej premennej) my_name.

Záver

V poslednej časti venovanej funkciám v jazyku PHP bude ukázaný ďalší spôsob zápisu funkcií, ich volania, ako aj použitie príkazu return.


PHP,programovanie,PHP,function
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších