![]() |
|
PHP lecke 3 - Nyomtatható verzió +- HHW.hu (https://hhwforum.hu) +-- Fórum: Informatika (https://hhwforum.hu/forumdisplay.php?fid=72) +--- Fórum: Programozás (https://hhwforum.hu/forumdisplay.php?fid=78) +---- Fórum: PHP (https://hhwforum.hu/forumdisplay.php?fid=81) +---- Téma: PHP lecke 3 (/showthread.php?tid=42) |
RE: PHP lecke 3 - crancker - 2007-05-05 Php lecke 3. Változók A változók: Olyan adattárolók, amelyben értéket helyezünk el. (a matematikából jól ismert x=, ami lehet akármi; szám, fQnév, fogalom, sQt logikai érték is (igaz-hamis)) Na, ez nagyon fontos nekünk, mert mindig ezzel lesz a legtöbb teendQnk!! Most azonban nem x, hanem "dollárjel" és a név szolgál az ismeretlen jelzésére. Változók: $ és valmilyen szöveg, név - ami lehet betű, szám és aláhúzás karakter (_), (de számmal nem kezdődhet!). Példák: $kata, $valtozoneve $kutyanak_füle2, vagy egyszerűen csak: $x (ami kísértetiesen hasonlít az f(x)-re) Nagyon sok nevet változónevet választhatsz, de a logika az meg nem árt neki! Ne feledkezzünk meg a pontos vesszőkről! íí‚Âgy adunk értéket a változónak: [/CODE]$szam1= 5; $nev= "Adobe Planet"; meg ilyesmi... <html><body bgcolor=#e9e1d1> <center><font color=#331111 size=+1> <?php $szam1 = 5; print $szam1; ?> <?php $nev = "Adobe Planet"; print $nev; ?> </font></center>
<FORM NAME=goback method="POST" ENCTYPE="application/ </center>x-www-form-urlencoded"> <INPUT TYPE="button" VALUE="vissza" onClick= "history.go(-1); return true;"> </FORM> </body> </html>[/CODE] Ha egy 5-öst és alatta egy Adobe Planet -et látsz, akkor OK! Ha nem, akkor bukta...lehet kezdeni előről DINAMIKUS Víí‚ÂLTOZőK Itt az informatikában a dinamikus szó már bizonyos értelemben maga is a változást jelenti, azaz: Olyan adattároló, amelyben az adat valamilyen mqűvelet hatására állandóan változhat. (matekban pl: f(x)=x+1) Jelölése és egy példa: [/CODE]$nagyon_finom = "Snickers";[/CODE] ez egyenértékű azzal, hogy [/CODE]$csoki = "nagyon_finom"; $$csoki = "Snickers";[/CODE] Változó a változóban - ettől olyan dinamikus íí‚Ârassuk már ki az $$csoki tartalmát kiváncsiságból: [/CODE]<html><body bgcolor=#e9e1d1> <center><font color=#331111 size=+1> <?php $nagyon_finom = "Snickers"; $csoki = "nagyon_finom"; print $$csoki; ?> </font></center>
<FORM NAME=goback method="POST" ENCTYPE="application/ </center>x-www-form-urlencoded"> <INPUT TYPE="button" VALUE="vissza" onClick= "history.go(-1); return true;"> </FORM> </body> </html>[/CODE] Természetesen azt látjuk, hogy Snickers, nem erre vártunk? Azt meg kell hagyni, hogy "így, ebben a formában" a dinamikus változónak nem sok semmi haszna van, de majd ha ott lesznek a műveletek, akkor majd jó hasznukat vesszük Itt megjegyezni: Dinamikus változót karakterlánc-konstanssal is létrehozhatunk, ekkor azonban a névként szolgáló karakterláncot kapcsos zárójelbe kell tenni. Erre akkor lesz szükség, ha műveleteket is akarunk végezni vele. (később bővebben...) [/CODE]${"nagyon_finom"} = "Snickersi";[/CODE] Ezt is irassuk ki, bár a végeredményt tekintve ugyanazt kell kapnunk, mint az előbb: [/CODE]<html><body bgcolor=#e9e1d1> <center><font color=#331111 size=+1> <?php $nagyon_finom = "Snickers"; $csoki = "nagyon_finom"; print "${$csoki}"; ?> </font></center>
<FORM NAME=goback method="POST" ENCTYPE="application/ </center>x-www-form-urlencoded"> <INPUT TYPE="button" VALUE="vissza" onClick= "history.go(-1); return true;"> </FORM> </body> </html>[/CODE] Majd még ide visszatérünk- Változókra való hivatkozás A PHP alapértelmezés szerint a következő módon jár el az értékadáskor: (matematikai hasonlattal): Van két változónk x és y. Ha x-hez hozzárendeljük az y-t, akkor az y-ba az x értéke kerül. (belemásolódik), de ez által az x értéke természetesen nem változik. Ha azonban az x értékét később megváltoztatom, y-ban akkor is az eredeti érték marad. í??gy néz ki a dolog, mintha a hozzárendelési műveletet csupán egyszer tudná végrehajtani a program. Be kell látnunk, hogy ez valójában nem egy művelet volt, hanem a változó értéke szerinti - újabb - értékadás. Próbáljuk csak ki!: [/CODE]<html><body bgcolor=#e9e1d1> <center><font color=#331111 size=+1> <?php $x = 5; $y = $x; //Most megváltoztatom x értékét $x = 7; print $y; //És mégis az 5-öst fogja kiírni:-) ?> </font></center>
<FORM NAME=goback method="POST" ENCTYPE="application/ </center>x-www-form-urlencoded"> <INPUT TYPE="button" VALUE="vissza" onClick= "history.go(-1); return true;"> </FORM> </body> </html>[/CODE] A PHP 4-es verziójától kezdve ki lehet ám kényszeríteni, hogy ez az értékadás úgy "viselkedjen", mint egy művelet. Azaz nem x-re hivatkozunk, hanem az x mindenkori változásának eredményére. Azaz, ha x új értéket vesz fel, y mindig ugyanazt veszi fel. Végül is kényszerítsük csak ki! Egyetlen új karakter a kódsorozatban - & - máris megváltozik a hivatkozás iránya. Nem az értékre, hanem a változóra fogunk hivatkozni: [/CODE]<html><body bgcolor=#e9e1d1> <center><font color=#331111 size=+1> <?php $x = 5; $y = &$x; //Most megváltoztatom x értékét $x = 77; print $y; //Remélhetőleg a 77 szám kerül kiírásra:-) ?> </font></center>
<FORM NAME=goback method="POST" ENCTYPE="application/ </center>x-www-form-urlencoded"> <INPUT TYPE="button" VALUE="vissza" onClick= "history.go(-1); return true;"> </FORM> </body> </html>[/CODE] Remélem érthető volt mindenki számára. Lehet kicsit tömény de meg lehet rágni. A következő leckében az adattipusokkal ismerkedünk majd meg. |