Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 27.11.2016
Сообщений: 22
1

Как правильно обработать отсутствующие get-параметры

05.09.2017, 17:42. Показов 1088. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую. Как правильно обработать отсутствующие get-параметры?
У меня два варианта для получения числа. Какой более правильный?
PHP
1
2
3
$p1 = (int) (isset($_GET['p1']) ? $_GET['p1'] : 0);
// или
$p1 = (int) $_GET['p1'];
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2017, 17:42
Ответы с готовыми решениями:

Как правильно обработать массив?
Добрый вечер, помогите плиз, никак не могу понять, как правильно. есть массив, который...

Как правильно обработать строку с запятыми?
После кодирования, например, $pic='облачно, дождь'; $pic2='2'; json_encode(array((string)$pic,...

Как правильно обработать сообщение?
не получается получить и обработать сообщение о считывании штрихкода сканером: в InitInstance()...

Как правильно обработать исключение ?
В событии FormCreate читаем путь к директории из ini-файла , и когда там путь к дисководу , а...

4
Эксперт PHP
3876 / 3217 / 1350
Регистрация: 01.08.2012
Сообщений: 10,856
05.09.2017, 17:47 2
Лучший ответ Сообщение было отмечено R88 как решение

Решение

Цитата Сообщение от R88 Посмотреть сообщение
PHP
1
$p1 = (int) $_GET['p1'];
Если этот параметр не придёт, будет Notice.
Цитата Сообщение от R88 Посмотреть сообщение
$p1 = (int) (isset($_GET['p1']) ? $_GET['p1'] : 0);
Я бы чуть поменял:
PHP
1
$p1 = isset($_GET['p1']) ? (int) $_GET['p1'] : 0;
В PHP 7 можно так:
PHP
1
$p1 = $_GET['p1'] ?? 0;
1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
05.09.2017, 17:54 3
Второй варинт плохой, лучше первый но с применением null coalesce operator вместо isset с тернарником

Добавлено через 2 минуты
К intу в общем случае приводить неправильно, нужна нормальная валидация
1
0 / 0 / 1
Регистрация: 27.11.2016
Сообщений: 22
05.09.2017, 19:11  [ТС] 4
Цитата Сообщение от Jewbacabra Посмотреть сообщение
К intу в общем случае приводить неправильно, нужна нормальная валидация
Jewbacabra, какая именно "нормальная валидация"?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
05.09.2017, 19:26 5
R88, например проверить что это действительно число, а не строка типа '10abc' , которая при касте к инту превратится в 10
0
05.09.2017, 19:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2017, 19:26
Помогаю со студенческими работами здесь

Как правильно обработать столкновения?
Во время каждой итерации игрового цикла у меня происходит проверка всех пар объектов на коллизию....

Как правильно обработать ошибку?
здравствуйте, есть такая проблема. есть три таблицы и одним кликам делается запрос, проблема в том...

Как правильно обработать исключение?
public String HttpURLConnection(int position){ org.jsoup.nodes.Document doc = null;...

Как правильно обработать onTouchListener
В моем коде обработчик прикосновений работает как onClickListener. Помогите исправить. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru