NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Co znamená, když funkci předávám hodnotu referencí a jak se to v PHP dělá?

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Daniel Gavalec:29.6.2016 16:19

ahoj, můžete mi poradit co to přesně znamená? Díky :)

 
Odpovědět
29.6.2016 16:19
Avatar
shaman
Člen
Avatar
Odpovídá na Daniel Gavalec
shaman:29.6.2016 16:39

V PHP sa standardne funkcii odovzdavaju hodnoty premmennych. Ak sa tato hodnota vo funkcii zmeni, nie je tato zmena propagovana mimo funkcie.

function pridaj ($a) {
    $a++;
}

$a = 5;
pridaj($a); // vo vnutri sa $a zvysi na 6
echo $a; // vypise 5

Aby sa hodnota premennej vlozenej do funkcie zmenila aj mimo premennej, musis hodnotu predat referenciou

function pridaj (&$a) {
    $a++;
}

$a = 5;
pridaj($a);
echo $a; // vypise 6

Rozdiel je v definovani funkcie, kde pred hodnotu premennej predanej referenciou pridas znak &. Hodi sa to najme ked nevracias ziadnu hodnotu returnom ale chces vlozenu premennu priamo zmenit.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
29.6.2016 16:39
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Avatar
Odpovídá na shaman
Daniel Gavalec:29.6.2016 17:25

paráda děkuju ! :)

 
Nahoru Odpovědět
29.6.2016 17:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.