Source Code Fundamentals: Keywords

Keywords are case-sensitive, reserved words; they cannot be used as names.

abstract   arraykey   as   async   await   break   case   catch   class   classname   clone   const   continue   default   do
dynamic   echo   else   elseif   enum   extends   final   finally   for   foreach   function   if   implements   inout
instanceof   insteadof   interface   mixed   namespace   new   newtype   noreturn   num   parent   private
protected   public   require   require_once   return   self   shape   static   switch   throw   trait   try
tuple   type   use   while   yield

Strictly speaking, false, nonnull, null, and true are not keywords; however, they do have predefined meanings, and can be thought of as keywords. Likewise, for the names of the intrinsic functions (such as echo and invariant).