Konstanta je oznaka (ime) za neko preprosto vrednost. Kot sugerira že ime, se vrednost ne more spreminjati med izvajanjem skripte. ('Magični konstanti' __LINE__ in __FILE__ se zdita izjemi, vendar v resnici sploh nista konstanti.) Konstante so privzeto občutljive na velike in male črke. Ponavadi imena konstant pišemo z velikimi črkami.
Ime konstante mora upoštevati enaka pravila kot katerakoli oznaka v PHPju. Pravilno ime konstante se začne s črko ali znakom _, ki mu sledi poljubno število črk, številk in znako _. Kot regularen izraz bi tako to pravilo lahko zapisali kot: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Opomba: Za naše potrebe štejejo za črke znaki a-z, A-Z in znaki z ASCII kodami od 127 do 255 (0x7f-0xff).
Konstante so globalne -- do njih lahko dostopate kjerkoli v svojih programih.
Konstante definiramo z uporabo funkcije define(). Ko je konstanta enkrat definirana, je ne moremo več spreminjati ali oddefinirati.
Konstante imajo lahko samo skalarne vrednosti (vrednosti tipov boolean, integer, float in string).
Do vrednosti konstante dostopamo z navedbo njenega imena. Za razliko od običajnih spremenljivk imen konstant ne smemo začeti z znakom $. Do vrednosti konstant lahko dostopamo tudi s funkcijo constant(), kar naredimo takrat, kadar imena konstante ne vemo vnaprej. S funkcijo get_defined_constants() dobimo seznam vseh definiranih konstant.
Opomba: Konstante in (globalne) spremenljivke niso v istem imenskem prostoru. To pomeni, da npr. TRUE in $TRUE v splošnem nimata enake vrednosti.
Kadar uporabimo nedefinirano konstanto, PHP za njeno vrednost vzame kar njeno ime. V takem primeru izda obvestilo. S funkcijo defined() ugotovimo, ali je konstanta definirana ali ne.
Naštejmo razlike med konstantami in spremenljivkami:
Imena konstant se ne začnejo z znakom $;
Konstante lahko definiramo samo s funkcijo define(), spremenljivke pa s prireditvenim izrazom;
Konstante lahko definiramo in do njih dostopamo ne glede na pravila dosega spremeljivk;
Ko konstanto definiramo, njene vrednosti ne moremo več spreminjati;
Konstante imajo lahko samo skalarne vrednosti.