我不确定会出现什么问题,也不会从官方文档中得到很多帮助。
但这就是正在发生的事情。
我有选择' a',' c:'和' m:'使用getOpt()
它们的布局如下:
if ($op = getopt("a")) {
doAll();
} elseif ($op = getopt("c:")) {
doSome($op["c"]);
} elseif ($op = getopt("m:")) {
doOne($op["m"]);
} else {
echo "INVALID ARGS"; exit;
}
选项' a'和' m'工作找到,但当我使用选项' c'用:
php4 rebuild_mastertag.php -c 1234
始终打印INVALID ARGS
如果我通过1或12或12345678使事情变得更加神秘,那么它可以工作,但它不适用于123,1234,12345,123456,1234567这类数字。
真的很困惑。
感谢您的时间。
答案 0 :(得分:0)
谢谢@hchr
您的解决方案似乎没有遇到麻烦:
$op = getopt("ac:m:");
if (empty($op)) {
alertForInvalidArgument();
} else {
callProcessor($op);
}
function callProcessor($op)
{
if ($op["a"]) {
doAll();
} elseif ($op["c"]) {
doSome($op["c"]);
} else {
doOne($op["m"]);
}
}