PHP adattípusok

Egész változók értékadásánál használható az előjeles decimális, oktális és hexadecimális jelölés is.


A lebegőpontos számok tárolási tartománya szintén platformfüggő, megadhatóak lebegőpontosan és kétféle tudományos jelöléssel is.


A PHP az egész számokat platformfüggő tartományban tárolja.
Ez a tartomány jellemzően 32-bites előjeles ábrázolás.

A PHP rendelkezik egy saját boolean adattípussal, ami hasonlít a Java és a C++ boolean típusaira.
A boolean típusba konvertáláskor a Perl és C++ nyelvekhez hasonlóan:
- Nullától különböző értékek, true értékké konvertálódnak.
- Nulla értékek, false értékké konvertálódnak.


A null adattípus, az érték nélküli változókat reprezentálja.
A null típus egyetlen lehetséges értéke a NULL.
Példa: $valtozo = NULL;
A "NULL" helytett, "0"-át nem írhatunk.


A "resource" típusú változók, külső erőforrásokra hivatkoznak.
Ezeket általában egyes kiterjesztések függvényei adják vissza, és általában csak ugyanazon kiterjesztés függvényei tudják kezelni.
Ilyen típusúak a:
- file
- image
- database erőforrások.


A tömbök bármilyen PHP típusú elemeket tárolhatnak, beleértve erőforrásokat, objektumokat, sőt akár más tömböket is.
Az értékek sorrendje megőrződik a listákban és a hash-táblákban is.


A PHP a string adattípust is támogatja, stringeket megadhatjuk:

<?php
$string = 'szó vagy szöveg';
print ("$string");
?>
Az eredmény:

szó vagy szöveg
<?php
$string = "szó vagy szöveg";
print ("$string");
?>
Az eredmény:

szó vagy szöveg
 <?php
 $string = <<<TESZT
 Ez egy heredocszintaxissal
 több sorban tárolt szöveg. 
 Több sorban, tetszőleges szöveget írhatunk.
 Új sor kezdéséhez, az ENTER billentyűt is alkalmazhatjuk,
 és nem kell, sorlezáró utasítás.
TESZT;
 $string = str_replace ("\n","<br>",$string);
 print ("$string");
 ?>
Az eredmény:

Ez egy heredocszintaxissal
több sorban tárolt szöveg.
Több sorban, tetszőleges szöveget írhatunk.
Új sor kezdéséhez, az ENTER billentyűt is alkalmazhatjuk,
és nem kell, sorlezáró utasítás.

 


A PHP gyenge típusossága az egyik leggyakoribb hibaforrás.
A nyelvre jellemző az úgynevezett "Type Juggling".
Ez lehetővé teszi, hogy a változó típusát, azon környezete határozza meg, amelyben használjuk.

<?php
$tipus = "0";  // $tipus változó értéke idézőjelek között van megadva, akkor string típust vesz fel.
$tipus += 2;   // $tipus változó értéke, most szám típust veszi fel.
$tipus = $tipus + 1.3;              // $tipus, most lebegőpontos szám típusú.
$tipus = 5 + "10 Kismedve";       // $tipus, szám típusú.
$tipus = 5 + "10 Kicsi bocs";     // $tipus, szám típusú.
?>
Az eredmény:

0
2
3.3
15
15

 


Lehetőségünk van, típuskényszerítés alkalmazására:

<?php
$a = 10;              // $a most szám típusú.
$b = (boolean) $a;    // $a változóból, logikai típusú lett.
print ($a."<br />".$b);
?>
Az eredmény:

10
1