getopt
是 PHP 中的一个命令行参数解析函数,它可以帮助你轻松地处理命令行参数
<?php
// 定义一个包含参数的字符串
$options_string = "a:b:";
// 使用 getopt 函数解析参数
$options = getopt($options_string, ['a' => 'help', 'b' => 'value']);
// 检查是否提供了 a 和 b 选项
if (isset($options['a'])) {
echo "Option a provided with value: " . $options['a'] . PHP_EOL;
} else {
echo "Option a not provided." . PHP_EOL;
}
if (isset($options['b'])) {
echo "Option b provided with value: " . $options['b'] . PHP_EOL;
} else {
echo "Option b not provided." . PHP_EOL;
}
// 检查是否提供了 --help 选项
if (isset($options['h']) || isset($options['?'])) {
echo "Help option provided." . PHP_EOL;
echo "Usage: script.php [options]" . PHP_EOL;
echo "Options:" . PHP_EOL;
echo " -a, --a Description of option a" . PHP_EOL;
echo " -b, --b Description of option b" . PHP_EOL;
echo " -h, --help Display this help message" . PHP_EOL;
exit(0);
}
?>
在这个示例中,我们定义了一个包含参数 a
和 b
的字符串 $options_string
。然后,我们使用 getopt
函数解析这些参数。getopt
的第二个参数是一个数组,其中键是短选项(例如 -a
)和长选项(例如 --a
),值是对应的描述。
接下来,我们检查是否提供了 a
和 b
选项,并输出相应的消息。我们还检查了 --help
选项(或 -h
),如果提供了该选项,我们将显示帮助信息并退出脚本。
要运行此脚本,请将其保存为 script.php
,然后在命令行中执行以下命令:
php script.php -a foo -b bar --help
这将输出以下内容:
Option a provided with value: foo
Option b provided with value: bar
Help option provided.
Usage: script.php [options]
Options:
-a, --a Description of option a
-b, --b Description of option b
-h, --help Display this help message