public
Created

Php command line parser

  • Download Gist
php-cli.php
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
function parseArguments()
{
array_shift($argv);
$out = array();
foreach($argv as $arg)
{
if(substr($arg, 0, 2) == '--')
{
$eqPos = strpos($arg, '=');
if($eqPos === false)
{
$key = substr($arg, 2);
$out[$key] = isset($out[$key]) ? $out[$key] : true;
}
else
{
$key = substr($arg, 2, $eqPos - 2);
$out[$key] = substr($arg, $eqPos + 1);
}
}
else if(substr($arg, 0, 1) == '-')
{
if(substr($arg, 2, 1) == '=')
{
$key = substr($arg, 1, 1);
$out[$key] = substr($arg, 3);
}
else
{
$chars = str_split(substr($arg, 1));
foreach($chars as $char)
{
$key = $char;
$out[$key] = isset($out[$key]) ? $out[$key] : true;
}
}
}
else
{
$out[] = $arg;
}
}
return $out;
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.