php foreach结果

|
      foreach ($flr_array as $flr) {
          if (!($flr = trim($flr)))
              continue;
          //list($flr, $keyword) = explode(\'|\', $flr, 2);
          $ip = \'\';
          $err_msg = isValidFLR($flr, $ip);
          if (!$err_msg) {
              list($randlink, $lastid, $scr) = addLink($flr, $ip);
              $flr = stripslashes($flr);
              $url_array[$i][\'number\'] = $i + 1;
              $url_array[$i][\'flr\'] = $flr;
              $url_array[$i][\'flr_substr\'] = (strlen($flr) > 33) ? substr($flr, 0, 33) . \'...\' : $flr;
              $url_array[$i][\'randlink\'] = $randlink;
              $url_array[$i][\'fullrand\'] = $config[\'indexurl\'] . $config[\'mod_rewrite_char\'] . $randlink;
              $url_array[$i][\'scr\'] = $scr;
              $url_array[$i][\'id\'] = $lastid;
              $url_array[$i][\'flr_length\'] = strlen($flr);
              $url_array[$i++][\'randlink_length\'] = strlen($config[\'indexurl\'] . $config[\'mod_rewrite_char\'] . $randlink);
              ////
              //$smarty->assign(\"flr_length\", strlen($_REQUEST[\'flr\']));
              //$smarty->assign(\"randlink_length\", strlen($config[\'indexurl\'] . $config[\'mod_rewrite_char\'] . $randlink));
              ////
          } else {
                  js_alert($err_msg);
              }
      }
在isValidFLR函数中,这是验证码检查的一部分:
if ($config[\'captcha_check\']) {
    if (verifyCaptcha() == false) {
        return \'Wrong code!\';
    }
}
假设我在textarea中输入: google.com google.de google.net 并输入错误的验证码,那么它会给我3条错误的验证码信息! 我想是因为有foreach的缘故。任何想法如何使foreach只显示一条错误消息?     
已邀请:
您的问题很难理解,但我认为您是对的(在foreach中)。 如果err_msg <> \'\',则应在代码中加上
break
,以退出foreach(如果您要这样做)。     
 else {
js_alert($err_msg);
break; //this will break out of for loop
//or return false if it a function

}
    

要回复问题请先登录注册