Как избавиться от неопределенного индекса в этой ситуации

Привет,

У меня есть такой код:

if ($_GET['s']= = "page1" || $_GET['s']= = "page2" || $_GET['s']= = "page3") {
 dosomething();
}

и я получаю эту ошибку:: Undefined index: s in

От чего я могу отказаться, только добавив эту строку:

$_GET['s'] = "";

но тогда это не выполнит код правильно, поскольку $ _GET ['s'] не должно иметь никакого начального значения. Как мне исправить это, кроме отключения уведомлений и ошибок?

Спасибо.

Используйте isset() или isset(), чтобы проверить, присутствует ли параметр s в строке запроса перед использованием $_GET['s'].

axiac 08.11.2018 06:39

@FrozenFire in_array() ищет значения в массиве, не заботясь о его ключах. Прочтите про Массивы PHP.

axiac 08.11.2018 06:40

Извините, это был array_key_exists()php.net/manual/en/function.array-key-exists.php.

FrozenFire 08.11.2018 06:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
33
1

Ответы 1

Вы можете проверить свой $_GET['s']

if (isset($_GET['s'])) {
  // your code goes here...
}

isset () используется для проверки существования индекса.

Я получаю эту фатальную ошибку: невозможно использовать isset () для результата выражения.

Cain Nuke 08.11.2018 06:40

Извините, код отредактировал, я пропустил ) в состоянии if.

Ashish Yadav 08.11.2018 06:48

Теперь я получил около 100 уведомлений, хахахаха

Cain Nuke 08.11.2018 06:51

Не могли бы вы добавить в свой вопрос новые ошибки и упомянуть об использовании isset().

Ashish Yadav 08.11.2018 06:53
if (isset($_GET['s'])) { if ($_GET['s']= = "page1" || $_GET['s']= = "page2" || $_GET['s']= = "page3") { dosomething(); } }
Cain Nuke 08.11.2018 06:55

@CainNuke Добавьте уведомления. В этом случае вы не будете вводить условие, поэтому уведомление s не будет выброшено. Также if (isset($_GET['s']) && ($_GET['s']= = "page1" || $_GET['s']= = "page2" || $_GET['s']= = "page3")... был бы чище

user3783243 08.11.2018 06:57

Выполните встроенную проверку, и, возможно, у вас есть еще 3 ошибки.

Ashish Yadav 08.11.2018 06:59

Извините, какие еще 3 ошибки?

Cain Nuke 08.11.2018 18:59

Не 100, а вроде 2, 3 ошибки: D. Решил ли isset проблему?

Ashish Yadav 08.11.2018 19:42

Другие вопросы по теме