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

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

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

Приветствую. Как правильно обработать отсутствующие 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-файла , и когда там путь к дисководу , а...

__________________

Записывайтесь на профессиональные курсы Fullstack-разработчиков на PHP‌
4
Эксперт PHP
3576 / 2995 / 1259
Регистрация: 01.08.2012
Сообщений: 10,258
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
502 bad gateway
Эксперт PHP
4520 / 3678 / 1541
Регистрация: 24.04.2014
Сообщений: 10,833
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
502 bad gateway
Эксперт PHP
4520 / 3678 / 1541
Регистрация: 24.04.2014
Сообщений: 10,833
05.09.2017, 19:26 5
R88, например проверить что это действительно число, а не строка типа '10abc' , которая при касте к инту превратится в 10
0
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® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.