Skip to content

Instantly share code, notes, and snippets.

@jesobreira
Created July 5, 2015 15:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jesobreira/4e8b5e4a1fa2b32676de to your computer and use it in GitHub Desktop.
Save jesobreira/4e8b5e4a1fa2b32676de to your computer and use it in GitHub Desktop.
CmdLine arguments parser (get values/existence/flags)
<?php
/*
Based on CmdLine UDF for AutoIt (also mine): https://www.autoitscript.com/forum/topic/169610-cmdline-udf-get-valueexistenceflag/
*/
class cmdline {
function get($sKey, $mDefault = Null) {
global $argv,$argc;
for($i = 1; $i <= ($argc-1); $i++) {
if($argv[$i]=="/".$sKey OR $argv[$i]=="-".$sKey OR $argv[$i]=="--".$sKey) {
if($argc>=$i+1) {
return $argv[$i+1];
}
}
}
}
function keyexists($sKey) {
global $argv,$argc;
for($i = 1; $i <= ($argc-1); $i++) {
if($argv[$i]=="/".$sKey OR $argv[$i]=="-".$sKey OR $argv[$i]=="--".$sKey) {
return true;
}
}
return false;
}
function valueexists($sValue) {
global $argv,$argc;
for($i = 1; $i <= ($argc-1); $i++) {
if($argv[$i]==$sValue) return true;
}
return false;
}
function flagenabled($sKey) {
global $argv,$argc;
for($i = 1; $i <= ($argc-1); $i++) {
if(preg_match("/\+([a-zA-Z]*)".$sKey."([a-zA-Z]*)/", $argv[$i])) {
return true;
}
}
return false;
}
function flagdisabled($sKey) {
global $argv,$argc;
for($i = 1; $i <= ($argc-1); $i++) {
if(preg_match("/\-([a-zA-Z]*)".$sKey."([a-zA-Z]*)/", $argv[$i])) {
return true;
}
}
return false;
}
function flagexists($sKey) {
global $argv,$argc;
for($i = 1; $i <= ($argc-1); $i++) {
if(preg_match("/(\+|\-)([a-zA-Z]*)".$sKey."([a-zA-Z]*)/", $argv[$i])) {
return true;
}
}
return false;
}
function getvalbyindex($iIndex, $mDefault = null) {
global $argv,$argc;
if(($argc-1)>=$iIndex) {
return $argv[$iIndex];
} else {
return $mDefault;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment