不存在安全问题啊,只是empty($userid)可以检测一些没有定义和一些为空的变量
至于安全问题,我还真的想了出来
如果用if ($userid),且$userid没有定义,则PHP解释器返回E_NOTICE级的注意错误
如果用if (!empty($userid)),且$userid没有定义,则不会返回错误,而返回TRUE,加了“!”则返回FALSE

解决方案 »

  1.   

    效果上都是一样,但if ($userid)这种方式,只有在$userid是一个布尔值的时候,程序看上才是合理的,在大多数情况下$userid一般都会是个整型,所以你最好用if (0 != $userid),这样程序会更清楚一些,如果是个字符串,那就 if ("" != $userid)。
      

  2.   

    如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。