| 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; # 1function 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: 13 let
|
|||
0