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.
<?php var_dump((bool) ""); // bool(false) var_dump((bool) 1); // bool(true) var_dump((bool) -2); // bool(true) var_dump((bool) "valami"); // bool(true) var_dump((bool) 2.3e5); // bool(true) var_dump((bool) array(12)); // bool(true) var_dump((bool) array()); // bool(false) var_dump((bool) "false"); // bool(true) ?>
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 |