getopt -> return PHP 注意:未定义索引:
getopt -> return PHP Notice: Undefined index:
我正在使用 getopt 将变量传递给我的脚本,但我收到消息:
PHP Notice: Undefined index:
这是我的代码:
$MyOptions = getopt("c:hp:");
if ($MyOptions['c']) { //line wher error show up!
$MyClub = $MyOptions['c'];
} else {
$MyClub = '53';
}
我错过了什么?
问题是您的 $MyOptions
数组中的索引 c
不存在,您可以通过多种方式避免这种情况,但在这种情况下我的首选方案是替换整个if
-else
声明;
$MyClub = $MyOptions['c'] ?? '53';
The null coalescing operator (??
) has been added as syntactic sugar for the common case of needing to use a ternary in conjunction with isset()
. It returns its first operand if it exists and is not NULL
; otherwise it returns its second operand.
请注意,这仅适用于 PHP 7,否则您将不得不使用 isset()
检查索引是否存在。
我正在使用 getopt 将变量传递给我的脚本,但我收到消息:
PHP Notice: Undefined index:
这是我的代码:
$MyOptions = getopt("c:hp:");
if ($MyOptions['c']) { //line wher error show up!
$MyClub = $MyOptions['c'];
} else {
$MyClub = '53';
}
我错过了什么?
问题是您的 $MyOptions
数组中的索引 c
不存在,您可以通过多种方式避免这种情况,但在这种情况下我的首选方案是替换整个if
-else
声明;
$MyClub = $MyOptions['c'] ?? '53';
The null coalescing operator (
??
) has been added as syntactic sugar for the common case of needing to use a ternary in conjunction withisset()
. It returns its first operand if it exists and is notNULL
; otherwise it returns its second operand.
请注意,这仅适用于 PHP 7,否则您将不得不使用 isset()
检查索引是否存在。