A PHP nyolc primitív típust támogat.
A négy skalár típus:
A két összetett típus: Végül két speciális típus: Ez a kézikönyv bevezet még néhány pszeudo-típust csak az olvashatóság kedvéért: Találhatsz még referenciákat a "double"-ra. Tekintsd a double-t ugyanolyannak, mint a float. A két különböző név csupán történelmi okokból létezik.A változó típusát rendszerint nem a programozó adja meg [persze van beleszólása...], hanem a PHP futási időben határozza meg a változó környezetétől függően.
Megjegyzés: Ha egy kifejezés értékére és/vagy típusára vagy kiváncsi, akkor használd a var_dump() függvényt.
Megjegyzés: Ha csak a típusára van szükség könnyen olvasható formában, akkor a gettype()-ot kell alkalmazni. Típusellenőrzésre viszont ne ezt, hanem az is_type függvényeket kell használni a programokban. Néhány példa:
<?php
$bool = TRUE; // boolean
$str = "ize"; // string
$int = 12; // integer
echo gettype($bool); // kiírja, hogy "boolean"
echo gettype($str); // kiírja, hogy "string"
// Ha ez integer, megnöveljük néggyel
if (is_int($int)) {
$int += 4;
}
// Ha a $bool változó string típusú, kiírjuk
// (ez nem fog kiírni semmit)
if (is_string($bool)) {
echo "String: $bool";
}
?>
Ha egy változó típusát egy adott típusra kell konvertálnunk, castolhatjuk a változót, vagy alkalmazzuk rá a settype() függvényt.
A változó különbözőképp értékelődhet ki bizonyos helyzetekben, attól függően, hogy az adott pillanatban milyen típusú. Bővebb leírásért lásd még a Bűvészkedés a típusokkal című részt! Érdekesek lehetnek még számodra a típus összehasonlító táblázatok, ezek példát adnak különféle típus összehasonlításra.