original_string: public function parseParams($argv)
      {
          if (is_string($argv)) {
              $argv = gplcart_string_explode_whitespace($argv);
          }
  
          array_shift($argv);
  
          $out = array();
          for ($i = 0, $j = count($argv); $i < $j; $i++) {
  
              $key = null;
              $arg = $argv[$i];
  
              if (substr($arg, 0, 2) === '--') {
  
                  $pos = strpos($arg, '=');
  
                  if ($pos === false) {
                      $key = substr($arg, 2);
                      if ($i + 1 < $j && $argv[$i + 1][0] !== '-') {
                          $value = $argv[$i + 1];
                          $i++;
                      } else {
                          $value = isset($out[$key]) ? $out[$key] : true;
                      }
  
                      $out[$key] = $value;
                      continue;
                  }
  
                  $key = substr($arg, 2, $pos - 2);
                  $value = substr($arg, $pos + 1);
                  $out[$key] = $value;
                  continue;
              }
  
              if (substr($arg, 0, 1) === '-') {
  
                  if (substr($arg, 2, 1) === '=') {
                      $key = substr($arg, 1, 1);
                      $value = substr($arg, 3);
                      $out[$key] = $value;
                      continue;
                  }
  
                  foreach (str_split(substr($arg, 1)) as $char) {
                      $key = $char;
                      $value = isset($out[$key]) ? $out[$key] : true;
                      $out[$key] = $value;
                  }
  
                  if ($i + 1 < $j && $argv[$i + 1][0] !== '-') {
                      $out[$key] = $argv[$i + 1];
                      $i++;
                  }
  
                  continue;
              }
  
              $value = $arg;
              $out[] = $value;
          }
  
          return $out;
      }
code: public function parseParams($argv)
      {
          if (is_string($argv)) {
              $argv = gplcart_string_explode_whitespace($argv);
          }
  
          array_shift($argv);
  
          $out = array();
          for ($i = 0, $j = count($argv); $i < $j; $i++) {
  
              $key = null;
              $arg = $argv[$i];
  
              if (substr($arg, 0, 2) === '--') {
  
                  $pos = strpos($arg, '=');
  
                  if ($pos === false) {
                      $key = substr($arg, 2);
                      if ($i + 1 < $j && $argv[$i + 1][0] !== '-') {
                          $value = $argv[$i + 1];
                          $i++;
                      } else {
                          $value = isset($out[$key]) ? $out[$key] : true;
                      }
  
                      $out[$key] = $value;
                      continue;
                  }
  
                  $key = substr($arg, 2, $pos - 2);
                  $value = substr($arg, $pos + 1);
                  $out[$key] = $value;
                  continue;
              }
  
              if (substr($arg, 0, 1) === '-') {
  
                  if (substr($arg, 2, 1) === '=') {
                      $key = substr($arg, 1, 1);
                      $value = substr($arg, 3);
                      $out[$key] = $value;
                      continue;
                  }
  
                  foreach (str_split(substr($arg, 1)) as $char) {
                      $key = $char;
                      $value = isset($out[$key]) ? $out[$key] : true;
                      $out[$key] = $value;
                  }
  
                  if ($i + 1 < $j && $argv[$i + 1][0] !== '-') {
                      $out[$key] = $argv[$i + 1];
                      $i++;
                  }
  
                  continue;
              }
  
              $value = $arg;
              $out[] = $value;
          }
  
          return $out;
      }
code_tokens: public function parseParams ( $ argv ) { if ( is_string ( $ argv ) ) { $ argv = gplcart_string_explode_whitespace ( $ argv ) ; } array_shift ( $ argv ) ; $ out = array ( ) ; for ( $ i = 0 , $ j = count ( $ argv ) ; $ i < $ j ; $ i ++ ) { $ key = null ; $ arg = $ argv [ $ i ] ; if ( substr ( $ arg , 0 , 2 ) === '--' ) { $ pos = strpos ( $ arg , '=' ) ; if ( $ pos === false ) { $ key = substr ( $ arg , 2 ) ; if ( $ i + 1 < $ j && $ argv [ $ i + 1 ] [ 0 ] !== '-' ) { $ value = $ argv [ $ i + 1 ] ; $ i ++ ; } else { $ value = isset ( $ out [ $ key ] ) ? $ out [ $ key ] : true ; } $ out [ $ key ] = $ value ; continue ; } $ key = substr ( $ arg , 2 , $ pos - 2 ) ; $ value = substr ( $ arg , $ pos + 1 ) ; $ out [ $ key ] = $ value ; continue ; } if ( substr ( $ arg , 0 , 1 ) === '-' ) { if ( substr ( $ arg , 2 , 1 ) === '=' ) { $ key = substr ( $ arg , 1 , 1 ) ; $ value = substr ( $ arg , 3 ) ; $ out [ $ key ] = $ value ; continue ; } foreach ( str_split ( substr ( $ arg , 1 ) ) as $ char ) { $ key = $ char ; $ value = isset ( $ out [ $ key ] ) ? $ out [ $ key ] : true ; $ out [ $ key ] = $ value ; } if ( $ i + 1 < $ j && $ argv [ $ i + 1 ] [ 0 ] !== '-' ) { $ out [ $ key ] = $ argv [ $ i + 1 ] ; $ i ++ ; } continue ; } $ value = $ arg ; $ out [ ] = $ value ; } return $ out ; }
docstring: Parses command line parameters
  @param array|string $argv
  @return array
docstring_tokens: Parses command line parameters