getopt
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
getopt — Gets options from the command line argument list
설명
array getopt
( string $options
[, array $longopts
] )
인수
-
options
-
Each character in this string will be used as option characters and
matched against options passed to the script starting with a single
hyphen (-).
For example, an option string "x" recognizes an
option -x.
Only a-z, A-Z and 0-9 are allowed.
-
longopts
-
An array of options. Each element in this array will be used as option
strings and matched against options passed to the script starting with
two hyphens (--).
For example, an longopts element "opt" recognizes an
option --opt.
The options
parameter may contain the following
elements:
- Individual characters (do not accept values)
- Characters followed by a colon (parameter requires value)
- Characters followed by two colons (optional value)
Option values are the first argument after the string. If a value is required,
it does not matter whether the value has leading white space or not. See note.
Note:
Optional values do not accept " " (space) as a separator.
Note:
The format for the options
and
longopts
is almost the same, the only difference is
that longopts
takes an array of options (where each
element is the option) whereas options
takes a
string (where each character is the option).
반환값
This function will return an array of option / argument pairs or FALSE
on
failure.
Note:
The parsing of options will end at the first non-option found, anything
that follows is discarded.
예제
Example #1 getopt() example: The basics
<?php
// Script example.php
$options = getopt("f:hp:");
var_dump($options);
?>
shell> php example.php -fvalue -h
array(2) {
["f"]=>
string(5) "value"
["h"]=>
bool(false)
}
Example #2 getopt() example: Introducing long options
<?php
// Script example.php
$shortopts = "";
$shortopts .= "f:"; // Required value
$shortopts .= "v::"; // Optional value
$shortopts .= "abc"; // These options do not accept values
$longopts = array(
"required:", // Required value
"optional::", // Optional value
"option", // No value
"opt", // No value
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>
shell> php example.php -f "value for f" -v -a --required value --optional="optional value" --option
array(6) {
["f"]=>
string(11) "value for f"
["v"]=>
bool(false)
["a"]=>
bool(false)
["required"]=>
string(5) "value"
["optional"]=>
string(14) "optional value"
["option"]=>
bool(false)
}
Example #3 getopt() example: Passing multiple options as one
<?php
// Script example.php
$options = getopt("abc");
var_dump($options);
?>
shell> php example.php -aaac
array(2) {
["a"]=>
array(3) {
[0]=>
bool(false)
[1]=>
bool(false)
[2]=>
bool(false)
}
["c"]=>
bool(false)
}