Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 14. 8. 2013, 22:56:35
Co znamena amper pred premennou:
function test(& $a) { $a[1] = "c"; return $a; } $v = array(1=> "a", "b"); skusal som to aj bez toho amperu ale vysledok je rovnaky. vrati prvky c,b Aky to ma zmysel ? Hladal som, ale o tomto znaku som v dokumentacii nic nenasiel (ani neviem pod cim to mam hladat). M. |
||
Kubo2 Profil |
#2 · Zasláno: 14. 8. 2013, 23:04:51
Monkeys:
Pod references. |
||
juriad Profil |
#3 · Zasláno: 14. 8. 2013, 23:09:32
Pěkně je vidět rozdíl například na této ukázce.
function nastav($b) { # hodnota argumentu se překopíruje a její změna nijak neovlivní hodnotu venku $b = 2; } $a = 1; nastav($a); echo $a; # 1 function skutecne_nastav(&$b) { # hodnota argumentu se protuneluje a její změna ovlivní hodnotu venku $b = 2; } $a = 1; skutecne_nastav($a); echo $a; # 2 |
||
Monkeys Profil * |
#4 · Zasláno: 14. 8. 2013, 23:26:58
Ak som to z php manualu spravne pochopil tak to sposobuje priamy odkaz do pamate kde sa (pole, premenna) nachadza.
juriad: „ovlivní hodnotu venku“ co znamena hodnota vonku ? Ako mam tomu rozumiet. M. |
||
Rfilip Profil |
#5 · Zasláno: 14. 8. 2013, 23:32:26
hodnota venku = hodnota vne funkce
|
||
Monkeys Profil * |
#6 · Zasláno: 14. 8. 2013, 23:44:16
Funkciam rozumiem ale pri tom amp mi neako unika podstata, vyznam toho celeho :)
Neviem si predstavit ani vyuzitie v praxi. M. |
||
juriad Profil |
Nedávno jsem to použil Jednorozměrné pole z vícerozměrného.
Potřeboval jsem, aby hodnotu přidal na konec toho samého pole v každé úrovni rekurze. Zkus si po spustit a pak odstraň ten & a zkus to znovu. :) |
||
Monkeys Profil * |
#8 · Zasláno: 15. 8. 2013, 00:10:00
juriad:
„Zkus si po spustit a pak odstraň ten & a zkus to znovu“ Presne to robim :) Ale nasiel som zaujimavy clanok co sa tejto temy tyka no utvorte si kazdy svoj nazor. http://schlueters.de/blog/archives/125-Do-not-use-PHP-references.html juriad: vdaka za ochotu a tvoj cas M. |
||
Časová prodleva: 11 let
|
0