php foreach结果

时间:2011-05-01 13:56:49

标签: 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我输入:

  1. google.com
  2. google.de
  3. google.net
  4. 并输入错误的验证码,因此它为我提供了错误代码的 3条消息! 我认为这是因为foreach。任何想法如何在foreach中只显示一条错误信息?

2 个答案:

答案 0 :(得分:1)

你的问题很难理解,但我认为你是对的(在foreach中)....

如果err_msg<> ''然后你应该在你的代码中放一个break以摆脱foreach(如果这是你想要的)。

答案 1 :(得分:0)

 else {
js_alert($err_msg);
break; //this will break out of for loop
//or return false if it a function

}