Двоятся switch

Issue #9 resolved
Develops repo owner created an issue

До

function _charset_count_bad($s)
{ //count "bad" symbols in russian, in windows-1251
  $r=0;
  for($i=0;$i<strlen($s);$i++)
  {
    switch($s[$i])
    {
      case 'ё':
      case 'Ё':
      case '«':
      case '»':
        break;
      default:
        $c=ord($s[$i]);
        if($c>=0x80&&$c<0xc0||$c<32)
          $r++;
    }
  }
  return $r;
}

после

function _charset_count_bad($s)
{
    $r = 0;
    $i = 0;

    for (; $i < strlen($s); $i++) {
        switch ($s[$i]) {
        case "ё":
        case "Ё":
        case "«":
        case "»":
            break;

        default:
            $c = ord($s[$i]);
            if (((128 <= $c) && ($c < 192)) || ($c < 32)) {
                $r++;
            }
        }

        switch ($s[$i]) { /////// double :)
        } ////////
    }

    return $r;
}

Comments (5)

  1. Develops reporter

    Минимальный глючный код

        switch($q[1])
        {
          case '1':
        }
    

    Если убрать массив из переменной, то все ок.

  2. Develops reporter

    И еще такой

    switch ($o["v"]) {
      case "q":
        if (1) {
          return true;
        } else {
          return false;
        }
        break;
    }
    
    switch ($o["v"]) {
      default:
        if (1) {
          return true;
        } else {
          return false;
        }
        break;
    }
    
  3. Log in to comment