getopt
是 PHP 中的一個命令行參數解析庫,它允許你在腳本中輕松地處理命令行參數
getopt
的主要作用是解析傳遞給腳本的命令行參數,并根據這些參數執行相應的代碼塊。它支持短選項(單個字母)和長選項(帶描述的長字符串),還可以處理可選參數和可選值。
下面是一個簡單的 getopt
示例:
#!/usr/bin/env php
<?php
// 定義可選參數及其描述
$options = [
'f|file=s' => '讀取指定文件',
'n|number=i' => '指定一個數字',
'h|help' => '顯示幫助信息',
];
// 使用 getopt 解析命令行參數
$args = getopt($options);
// 檢查是否提供了幫助信息
if (isset($args['h']) || isset($args['?'])) {
echo "Usage: script.php [options]\n";
foreach ($options as $option => $description) {
list($short, $long) = explode('|', $option);
printf("-%s, --%s %s\n", $short, $long, $description);
}
exit(0);
}
// 根據解析到的參數執行相應代碼
if (isset($args['f'])) {
$file = $args['file'];
echo "Reading file: $file\n";
}
if (isset($args['n'])) {
$number = (int)$args['number'];
echo "Number: $number\n";
}
在這個示例中,我們定義了兩個可選參數:-f
或 --file
用于指定一個文件,-n
或 --number
用于指定一個數字。然后我們使用 getopt
解析這些參數,并根據解析到的值執行相應的代碼塊。
當你運行這個腳本并提供參數時,例如 php script.php -f example.txt -n 42
,腳本將輸出 “Reading file: example.txt” 和 “Number: 42”。