A legtöbb programozási nyelvben, így a php-ban is, az adatokat különböző változókban, illetve állandókban szokás tárolni. A változó típusa a benne tárolt adatéra ural. A PHP-ban többféle adattípus használható. A különböző adatokat különböző adattípusokban tárolhatjuk. Érdemes megemlíteni, hogy a php egy gyengén típusos nyelv, így a változók deklarálásakor nem szükséges a tipus meghatározása, mint említettem a változó tartalma szabja meg annak típusát. Az adattípusokat természetesen meg tudjuk változtatni.
A PHP adattípusai A PHP a következő alapadattípusokat támogatja:
Két különleges adattípus is használható: NULL és resource. A kezdőérték nélküli vagy NULL értékű változók NULL típusúak.Egyes beépített függvények (például az adatbázisfüggvények) resource típusú változókat adnak vissza. Ezek külső erőforrásra (például adatbázis-kapcsolatokra) hivatkoznak. Közvetlenül valószínűleg soha nem fogunk resource változót módosítani, ám egyes függvények ezeket adják vissza, és paraméterként gyakran más függvénynek kell átadnunk ezeket.
Típuserősség foka
A PHP-t gyengén típusos, másképpen fogalmazva dinamikusan típusos nyelvnek nevezzük. A változók a legtöbb programozási nyelvben csak egyféle típusú adatot tartalmazhatnak, és ezt a típust a változó használata előtt deklarálni kell (például C-ben). PHP-ben viszont a változónak adott érték határozza meg a változó típusát. Például az $num és a $num_all változót létrehozzuk az alábbi kezdőértékkel: Snum = O; $num_all = 0.00; Mivel a O-t, azaz egész számot rendeltünk az $num-hoz, ez most egy integer típusú változó. A $num_all pedig ugyanilyen logika miatt float típusú. $string = 'Ez egy string'; A $string változó ekkor string típusú lenne. A PHP a változóban tárolt érték típusa alapján változtatja a változó típusát. A típusok menetközben, átlátható módon történő módosításának lehetősége igen hasznos. Ne feledjük, hogy a PHP varázsütésre tudja, hogy milyen adattípust tárolrunk el a változókbal Amikor visszakeressük a változót, ugyanolyan adattípusú adattal tér vissza.
Típuskényszerítés
Típuskényszerítéssel (type casting) elérhetjük, hogy egy változó vagy érték más típusúként viselkedjen. Két lehetőség van egy változó típusának módosítására. (int)$var; -> Egyszerűen zárójelben az átalakítani kívánt változó elé írjuk az ideiglenes típust. settype($var, "integer"); -> A settype függvény segítségével átalakítjuk a változó tartalmát. A változók típusát könnyen megtudhatjuk. A PHP erre a célra is biztosít nekünk egy függvényt. A gettype() függvény, visszatérési értéke a változó tartalmának adattípusa. gettype($var);
Állandók deklarálása és használata
Ahogy korábban már láttuk, könnyedén megváltoztathatjuk a változókban tárolt értéket. Ugyanilyen egyszerűen deklarálharunk állandókat (konstansokat). Az állandók ugyanúgy értéket tárolnak, mint a változók, ám értéküket egyszer állítjuk be, és a kódban sehol máshol nem lehet azokat megváltoztatni. A konstansokat a define függvénnyel állíthatjuk be: define ( 'EXAMPLE_INT' , lOO) ; define ( 'EXAMPLE_STRING', 'Ez egy string'); Vegyük észre, hogy az állandók nevét nagybetűvel írtuk! Ez a C-ből átvett szokás egyszerűen, ránézésre megkülönböztethetőek a változók és az állandók. Nem kötelező, mégis érdemes ragaszkodni ehhez, mivel könnyebben olvashatóvá és áttekinthetővé teszi kódunkat. Az állandók és a változók között egy fontos különbség, hogy amikor állandóra hivatkozunk, nem kell dollárjelet rakni elé. Ha szükségünk van az állandó értékére, csak a nevét kell használnunk. Ha például az imént létrehozott konstansok közül az elsőt szereménk használni, a következöket gépelnénk be: echo EXAMPLE_INT; A PHP az általunk meghatározott állandókan kívül számtalan saját (beépített) állandóval rendelkezik. Ezeket a legegyszerűbben úgy tekinthetjük át, ha lefuttatjuk a phpinfo ( ) függvényt: phpinfo(); A függvény -sok más hasznos információ mellett -a PHP előre definiált változóinak és állandóinak listáját adja vissza. A változók és állandók közötti másik különbség, hogy az utóbbiak csak boolean, integer, float és string típusú adatokat tárolhatnak. Ezeket az adattípusokat együttesen skaláris értékeknek nevezzük.
Változók hatóköre
A hatókör (scope) kifejezés a kód azon területeire utal, ahol az adott változó elérhető. A PHP-nek a hatókörre vonatkozó, hat alapvető szabály a következő:
A szuperglobális változók teljes listája a következő: