Consolidation\Cgr\Application::parseOutOurOptions PHP Method

parseOutOurOptions() public method

The result of this function is an array of two items containing: - An array of the items in $argv not used to set an option value - An array of options containing the user-specified or default values
public parseOutOurOptions ( array $argv, array $optionDefaultValues ) : array
$argv array The global $argv passed in by php
$optionDefaultValues array An associative array
return array
    public function parseOutOurOptions($argv, $optionDefaultValues)
    {
        $argv0 = array_shift($argv);
        $options['composer'] = strpos($argv0, 'composer') !== false;
        $passAlongArgvItems = array();
        $options = array();
        while (!empty($argv)) {
            $arg = array_shift($argv);
            if (substr($arg, 0, 2) == '--' && array_key_exists(substr($arg, 2), $optionDefaultValues)) {
                $options[substr($arg, 2)] = array_shift($argv);
            } else {
                $passAlongArgvItems[] = $arg;
            }
        }
        return array($passAlongArgvItems, $options + $optionDefaultValues);
    }