php - Why does empty expect T_PAAMAYIM_NEKUDOTAYIM when a non-variable is given? -


<?php define('foo', 'bar');  if (empty(foo)) {   echo 'qux'; } 

http://codepad.org/g1tsk1c6
parse error: syntax error, unexpected ')', expecting t_paamayim_nekudotayim on line 4

i know empty() allows variables passed argument, why expect t_paamayim_nekudotayim (i.e. ::) when give constant?

the next logical thing parser wants :: because foo not variable.

if (empty(foo::$bar)) { } 

is thing, works when empty() not passed variable. example evaluated empty(bar) parser assumes bar class name , expects static member variable.


Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -