я использую Getopt передать переменные в мой скрипт, но я получаю сообщение:
Уведомление PHP: неопределенный индекс:
Вот мой код:
$MyOptions = getopt("c:hp:");
if ($MyOptions['c']) { //line wher error show up!
$MyClub = $MyOptions['c'];
} else {
$MyClub = '53';
}
Что я упустил?
Проблема в индексе c
в вашем $MyOptions
массив не существует, вы можете избежать этого несколькими способами, но мой предпочтительный вариант в этом случае будет заменить весь if
—else
заявление с;
$MyClub = $MyOptions['c'] ?? '53';
??
это Нулевой оператор слияния.
Нулевой оператор объединения (
??
) был добавлен как синтаксический сахар для общего случая необходимости использования троичного в сочетании сisset()
, Возвращает свой первый операнд, если он существует и не существуетNULL
; в противном случае он возвращает свой второй операнд.
Имейте в виду, что это доступно только из PHP 7, в противном случае вам придется использовать isset()
проверить, существует ли индекс.
Других решений пока нет …