Változók I.
Most megtanuljuk (legalábbis remélem :D) hogy hogyan lehet változókat létrehozni és a print utasítással beíratni a HTML kódba.
A változók olyan dolgok, amikben különféle adatokat (pl. számokat, szöveget, stb.) lehet tárolni. Nézzük meg konkrét példákon keresztül!
Változók létrehozása
Változót így tudunk létrehozni:
<?php $count; ?>
Az előbb egy $count nevű változó jött létre, de ez így még igazából használhatatlan, mivel nem adtunk neki értéket (nem tárol semmilyen adatot). Mivel a változó létrehozása egy utasítás, pontosvesszőt kell a végére rakni! A PHP nyelvben a változók neveire az alábbi megkötések vonatkoznak:
- dollárjellel ($) kell kezdődnie (ez különbözteti meg a változók nevét a sima szövegtől!)
- csak ékezet nélküli kis- és nagybetűket és számokat tartalmazhat, írásjelek közül csak az aláhúzás karakter (_) használható!
- A $ utáni első karakter nem lehet szám
Vagyis az alábbi nevek pl. lehetnek változók:
$x , $x1 , $y2k , $hosszu , $tobb_szobol_allo_valtozo , $_abc , $ABC
Az alábbiak viszont nem lehetnek változók nevei:
$hosszú , $2007 , $tobb szo , x1 , $Horb&DaniL
Az hogy írásjeleket nem tartalmazhat azt jelenti hogy pl. a szóközt, kötőjelet, pontosvesszőt, vesszőt se használhatjuk! Az aláhúzás karaktert a szóköz helyettesítésére szokták használni.
Arra is figyeljünk, hogy a kis- és nagybetűk különböznek egymástól, tehát az $abc és $ABC két különböző változó, akárcsak a $Valtozo és a $valtozo.
Változók értékadása
A változók persze nem arra valók, hogy a PHP kódot díszítsük velük, hasznukat akkor vesszük, ha létrehozásukkor mindjárt értéket is adunk nekik:
<?php $count = 5; ?>
Itt a $count nevű változót hoztuk létre, és értéke egy egész szám lett, az 5. Ez a PHP kód szempontjából azt jelenti hogy ahova a $count változónevet beírjuk, az ugyanazt eredményezi, mintha az 5-ös számot írtuk volna oda. A változók értéke viszont nemcsak szám lehet:
<?php $pi = 3.1415; $jatek = "Generally"; $html = '<font color="red">'; ?>
Itt három változót hoztunk létre egymás után. A $pi változóba egy tizedestörtet raktunk, a 3,1415-öt. Arra vigyázni kell, hogy ne tizedesvesszőt, hanem tizedespontot írjunk! A $jatek változó egy karakterláncot tárol, a $html szintén. Változó létrehozása a kódban akárhol előfordulhat, és akárhány változót létrehozhatunk. Természetesen az sem gond, ha két változónak ugyanaz az értéke.
Változók kiíratása
Nem nehéz rájönni, hogyan tudjuk kiíratni egy változó értékét. Pl. ha azt akarjuk kiíratni, hogy A PHP nyelv full ős!, akkor ezt a múltkor megtanult módszerrel így tehetjük meg:
<?php print "A PHP nyelv full ős!"; ?>
De úgy is lehet, hogy a karakterláncot először eltároljuk egy változóban, majd a változót íratjuk ki:
<?php $szoveg = "A PHP nyelv full ős!"; print $szoveg; ?>
Itt ugyanis a $szoveg változónév helyettesítődik az "A PHP nyelv full ős!" karakterlánccal.
A számokat ugyanígy tudjuk kiíratni:
<?php $szam = 34; print $szam; ?>
Persze aki szóról szóra megtanulta az előző lecke anyagát az értetlenül áll a fenti kód előtt. Ugyanis a print utasítás után egy karakterláncot kell írni! A fenti kód azért működik, mert a $szam változó értéke (a 34-es szám) automatikusan átkonvertálódik karakterlánccá, ami így néz ki: "34". Ha pl. azt írjuk hogy print 34; akkor szintén ugyanez történik. Ebből az a tanulság, hogy általában nem kell odafigyelni a változók típusára (legalábbis akkor nem ha csak kiíratni akarjuk őket).
Végül nézzünk meg egy bonyolultabb példát:
<?php $kiirando_szoveg = "Generally"; $formazas1 = '<font color="red"><b>'; $formazas2 = '</b></font>'; print $formazas1; print $kiirando_szoveg; print $formazas2; ?>
Mivel az utasítások sorrendben egymás után hajtódnak végre, a fenti PHP kód az alábbi HTML kódot állítja elő:
<font color="red"><b>Generally</b></font>
Még egy fontos dolog (bár tulajdonképpen nyilvánvaló): minden változót létre kell hoznunk és értéket kell adnunk neki, mielőtt használnánk. Ha azelőtt próbáljuk pl. kiíratni mielőtt létrehoztuk volna, akkor általában nem íródik ki semmi.
És akkor most következzen a várva várt
Házi feladat
Próbálj meg úgy kiíratni egy szöveget, hogy az alábbi kimenetet adja a böngészőben:
Kék szöveg
Piros szöveg
És ezt úgy csináld, hogy a színek neveit (pl. "blue" és "red", de lehet a szín hexakódja is) változókban add meg! Ennek pl. az az előnye, hogy egy nagyobb programban utólag könnyen módosíthatóak a színek.
A "Megoldás"-ra kattintva láthatod a feladat megoldását!
<html> <head> <title>Gyakorlás</title> </head> <body> <?php $szin1 = "blue"; $szin2 = "red"; print '<font color="'; print $szin1; print '">Kék szöveg</font><br /><font color="'; print $szin2; print '">Piros szöveg</font>'; ?> </body> </html>
Persze egy programozási feladatra általában sokféle megoldás lehetséges, ez az egyik legrövidebb. A változóknak nyilván lehetett más nevet is adni, az egyes karakterláncokat fel lehetett darabolni és úgy kiírni, stb. Egy dolgot azért talán érdemes megemlíteni: a PHP kód 3. sorában a print '<font color="'; utasítás esetén az idézőjelet oda kell írni, ha azt akarjuk hogy a HTML kódban is benne legyen! Ugyanis a rákövetkező print $szin1; utasítás jelentése: print "blue"; , viszont itt az idézőjelek nem kerülnek kiírásra, mivel azok csak a karakterláncot határolják, nem a karakterlánc részei! A fenti program által létrehozott HTML kód így fog kinézni:
<html> <head> <title>Gyakorlás</title> </head> <body> <font color="blue">Kék szöveg</font><br /><font color="red">Piros szöveg</font> </body> </html>
Ha áttekinthetőbb kódot akarunk létrehozni, akkor használhatjuk a \n újsor-karaktert a karakterláncokban, de mivel ez a böngészőben nem változtatja a megjelenítést, ezért általában felesleges.







