PHP has a simpler version of The Visual BASIC Variable Problem. In PHP, you can query the symbol table to see if a variable is defined or not. Whilst this seems like a good idea, in practice it's not. It is much easier if the language does not distinguish between a variable not in the symbol table versus containing a special value, usually null. PHP unfortunately evaluates expressions involving non-existent variables uniquely compared to a particular value; this the constant checking that variables "exist" or are "set". When I programmed with PHP, it often drove me up the wall.
(Visual BASIC lets variables have several states other than simply existing with a value. These include Empty and Nothing as well as actually not existing.)
Wade.