Mit define() definiert man eine Konstante mittels eines Namens (name) und weist dieser einen Wert (value) zu. Der optionale Parameter case_insensitive bestimmt, ob bei dieser Konstante zwischen Groß- und Kleinschreibung unterschieden wird. Voreingestellt ist die Unterscheidung für Groß- und Kleinschreibung (kann auch mit 1 gesetzt werden). Im Erfolgsfall gibt diese Funktion true, sonst false zurück. Die Definition einer Konstanten erfolgt ähnlich wie bei Variablen, außer dass Folgendes zu berücksichtigen ist: Eine Konstante beginnt nicht mit dem Dollar-Zeichen ($). Der Zugriff auf eine Konstante kann von überall her erfolgen und unterliegt nicht den Auswertungskriterien von Variablen. Wurde eine Konstante einmal definiert, so kann sie weder umdefiniert noch zurückgesetzt werden (siehe 2. Beispiel). Eine Konstante kann nur eindimensionale Werte aufnehmen. So können z.B. keine Arrays aufgenommen werden.