一个函数的逻辑问题!

一个函数的逻辑问题!

if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "零级,一级";
$MM_donotCheckaccess = "false";
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
   $isValid = False;
  if (!empty($UserName)) {

    $arrUsers = Explode(",", $strUsers);
    $arrGroups = Explode(",", $strGroups);
    if (in_array($UserName, $arrUsers)) {
      $isValid = true;
    }
   
    if (in_array($UserGroup, $arrGroups)) {
      $isValid = true;
    }
    if (($strUsers == "") && false) {
      $isValid = true;
    }
  }
  return $isValid;
}

$MM_restrictGoTo = "wuxiao.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
  $MM_referrer .= "?" . $QUERY_STRING;
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo);
  exit;
}

我觉得  if (in_array($UserName, $arrUsers)) {
      $isValid = true;
    } 和  if (($strUsers == "") && false) {
      $isValid = true; }都是多余的是吗,怎么执行都是假

[ 本帖最后由 xinxinge 于 2009-8-16 18:10 编辑 ]

if (in_array($UserName, $arrUsers))
这句用得上吧。
if (($strUsers == "") && false) 这句就多余了。
dw的代码?好像很冗余啊
如履薄冰

看一些书本上的事例的,感觉代码很冗余。。。。。。逻辑也有问题