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/
x-www-form-urlencoded">
<INPUT TYPE="button" VALUE="vissza" onClick=
"history.go(-1); return true;">
</FORM>
</center>
</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 = &quot;Snickers&quot;;
$csoki = &quot;nagyon_finom&quot;;
print $$csoki;
?>
</font></center>





<FORM NAME=goback method=&quot;POST&quot; ENCTYPE=&quot;application/
x-www-form-urlencoded&quot;>
<INPUT TYPE=&quot;button&quot; VALUE=&quot;vissza&quot; onClick=
&quot;history.go(-1); return true;&quot;>
</FORM>
</center>
</body>
</html>[/CODE]


Természetesen azt látjuk, hogy Snickers, nem erre vártunk? Azt meg kell hagyni, hogy &quot;így, ebben a formában&quot; 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]${&quot;nagyon_finom&quot;} = &quot;Snickersi&quot;;[/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 = &quot;Snickers&quot;;
$csoki = &quot;nagyon_finom&quot;;
print &quot;${$csoki}&quot;;
?>
</font></center>





<FORM NAME=goback method=&quot;POST&quot; ENCTYPE=&quot;application/
x-www-form-urlencoded&quot;>
<INPUT TYPE=&quot;button&quot; VALUE=&quot;vissza&quot; onClick=
&quot;history.go(-1); return true;&quot;>
</FORM>
</center>
</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=&quot;POST&quot; ENCTYPE=&quot;application/
x-www-form-urlencoded&quot;>
<INPUT TYPE=&quot;button&quot; VALUE=&quot;vissza&quot; onClick=
&quot;history.go(-1); return true;&quot;>
</FORM>
</center>
</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 &quot;viselkedjen&quot;, 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=&quot;POST&quot; ENCTYPE=&quot;application/
x-www-form-urlencoded&quot;>
<INPUT TYPE=&quot;button&quot; VALUE=&quot;vissza&quot; onClick=
&quot;history.go(-1); return true;&quot;>
</FORM>
</center>
</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.