Transfer from http://blog.sina.com.cn/s/blog_6c971aa30101ah0p.html
Using const makes the code easy to read, and const itself is a language structure, and define is a function. In addition, const is much faster to compile than define.
(1). Const is used to define a class member variable, which is not modifiable once defined. Define is not available for definition of class member variables and can be used for global constants.
(2). Const can be used in a class, define cannot.
(3). Const cannot define a constant in a conditional statement.
(4). Const takes an ordinary constant name, and define can use an expression as its name.
(5). Const can only accept static scalars, and define may take any expression.
(6). const-defined constants are case-sensitive, and define can specify case sensitivity by using the third argument (true for case insensitivity).
PHP Define and const