original_string: protected function randomMixed()
      {
          $characters = implode('', $this->letters) . $this->chineseCharacters;
  
          if (function_exists('mb_substr'))
          {
              $len = mb_strlen($characters, 'utf-8');
  
              for ($i = 0; $i < $this->length; $i++)
              {
                  $this->code .= mb_substr($characters, mt_rand(0, $len - 1), 1, 'utf-8');
              }
          }
      }
code: protected function randomMixed()
      {
          $characters = implode('', $this->letters) . $this->chineseCharacters;
  
          if (function_exists('mb_substr'))
          {
              $len = mb_strlen($characters, 'utf-8');
  
              for ($i = 0; $i < $this->length; $i++)
              {
                  $this->code .= mb_substr($characters, mt_rand(0, $len - 1), 1, 'utf-8');
              }
          }
      }
code_tokens: protected function randomMixed ( ) { $ characters = implode ( '' , $ this -> letters ) . $ this -> chineseCharacters ; if ( function_exists ( 'mb_substr' ) ) { $ len = mb_strlen ( $ characters , 'utf-8' ) ; for ( $ i = 0 ; $ i < $ this -> length ; $ i ++ ) { $ this -> code .= mb_substr ( $ characters , mt_rand ( 0 , $ len - 1 ) , 1 , 'utf-8' ) ; } } }
docstring: Random generation mixed characters
  
  @return void
docstring_tokens: Random generation mixed characters