Как проверить, нет ли $_GET
?
ответ
Вы сказали, что сами убедитесь, что это empty
:
if (empty($_GET)) {
// no data passed by get
}
See, PHP настолько просто. Вы можете просто написать, что вы думаете;)
Этот метод достаточно безопасен. !$_GET
может дать вам неопределенную переменную E_NOTICE, если $_GET
не был установлен (не вероятно, но возможно).
<?php
if (!isset($_GET) || empty($_GET))
{
// do stuff here
}
'! Исеть ($ _ GET)' не нужно здесь, 'если (пусто ($ _ GET))' будет достаточно –
К сожалению, мой плохой. .. – john010117
Just FYI: $ _GET _can_ быть неустановленным, однако очень редко настраивать PHP таким образом (см. 'Variables_order') – Wrikken
я думаю, самый простой способ, который не требует каких-либо операторов
if($_GET){
//do something if $_GET is set
}
if(!$_GET){
//do something if $_GET is NOT set
}
-1, учитывая, что это может вызвать ошибку уведомления. Использование пустого теста - лучшая альтернатива. –
+1 для использования не нужно использовать empty(). @premiso получил реальный пример, чтобы доказать, почему это лучше? –
Кол, нет, я на самом деле этого не делаю. Но я мог спросить того же из вас, почему ваш «лучше», и если вы можете предоставить мне реальные примеры того, почему ваше решение лучше, реальный ответ является действительным (после моих нечетких тестов). Так что да, я был не прав для downvote, и если пользователь изменяет это, я переключу его. Предпочтение отдается предпочтению, я предпочитаю использовать пустой. Единственная причина, по которой я могу это объяснить, - это пустая проверка, если элемент пуст.Учитывая, что $ _GET не задан, возвращает массив (0) из var_dump, кажется, что, по-моему, выбор лучше использовать. –
if (!$_GET) echo "empty";
зачем вам нужна такая проверка?
lol
Вы, ребята, слишком непосредственны.
не воспринимают как оскорбительные, но иногда не склонны вообще
$ _GET - это особая переменная, а не как другие.
он должен быть всегда установлен. нет необходимости рассматривать его как другие переменные. когда $ _GET не установлен и ожидается - это аварийный случай и то, что «Неопределенная переменная» уведомление изобретены для
OMG! О, МОЙ БОГ! Вы должны использовать isset() !! Иначе это не безопасно !!!!! 1! – mario
@mario получил какой-нибудь пример для демонстрации? –
Существует параметр ini, называемый 'variables_order', который позволяет вам установить, какие переменные установить и которые не устанавливать. Кроме того, программист может захотеть отключить '$ _GET' - по какой-то причине. – NikiC
Я хотел бы использовать следующее, если заявление, потому что это легче читать (и изменения в будущем)
if(!isset($_GET) || !is_array($_GET) || count($_GET)==0) {
// empty, let's make sure it's an empty array for further reference
$_GET=array();
// or unset it
// or set it to null
// etc...
}
'if (! Empty ($ _ GET)) {}' еще проще читать. 'empty()' возвращает 'TRUE', если массив не содержит элементов. – kiamlaluno
Что делать, если $ _GET - это строка? или объект? Я наткнулся на скрипты, которые испортили $ _GET, и я обычно проверяю, является ли переменная типом «знаю», это должно быть ... –
это легко. просто избегайте таких скриптов :) Честно говоря, ваш код переполнен –
Простой.
if (empty($_GET)) {
// $_GET is empty
}
Просто, чтобы обеспечить некоторые вариации здесь: Вы можете проверить
if ($_SERVER["QUERY_STRING"] == null)
она полностью идентична проверке $_GET
.
+1 Я думал об одном и том же, но не был уверен в том, что вам нужно проверить. Против '! Isset',' null' или '' ''. Работает ли «нуль» здесь, вы протестировали? – NikiC
@nikic yup, проверено и работает. Поскольку он исходит из Apache, он всегда будет установлен, даже если он пуст, поэтому проверка 'array_key_exists()' не требуется. –
все будет работать, niki –
Вот 3 различные методы, чтобы проверить это
<?php
//Method 1
if(!empty($_GET))
echo "exist";
else
echo "do not exist";
//Method 2
echo "<br>";
if($_GET)
echo "exist";
else
echo "do not exist";
//Method 3
if(count($_GET))
echo "exist";
else
echo "do not exist";
?>
- 1. Как проверить, пуст ли пуст?
- 2. Как проверить, пуст ли пуст
- 3. $ _GET всегда пуст
- 4. Как проверить, пуст ли DataSet?
- 5. Как проверить, пуст ли список?
- 6. Как проверить, пуст ли массив?
- 7. Как проверить, пуст ли массив?
- 8. Как проверить, пуст ли массив?
- 9. Как проверить, пуст ли ContentPlaceHolder?
- 10. Как проверить, пуст ли JTextField?
- 11. Как проверить, пуст ли курсор?
- 12. Как проверить, пуст ли JComboBox?
- 13. Как проверить, пуст ли TextView?
- 14. Как проверить, пуст ли каталог?
- 15. Выпуск $ _GET пуст
- 16. Как проверить, имеет ли строка $ _GET ["s"] ++++?
- 17. $ _GET заполнено, но $ _REQUEST пуст
- 18. Как проверить, есть ли $ _GET пустые значения во всех элементах?
- 19. Как проверить, пуст ли numpy пуст или нет?
- 20. Как проверить, пуст ли байтовый пуст или нет?
- 21. Array пуст, как проверить
- 22. C#: Как проверить, пуст ли DataGrid?
- 23. Как проверить, пуст ли i/ostream?
- 24. Как проверить, пуст ли LinqDataSource после выбора?
- 25. Как проверить, пуст ли список PHP пустым
- 26. Как проверить, пуст ли несколько переменных?
- 27. Как проверить, пуст ли @RequestParam или нет?
- 28. Как проверить, пуст ли файл или нет?
- 29. Как проверить, пуст ли параметр массива?
- 30. Как проверить, пуст ли json в C#?
Нет, ваш код не должен генерировать ошибки уровня уведомлений. –
@Frank Это правда ... когда все идет хорошо. Но разве это не уведомление, что вы ожидаете, если $ _GET не будет установлен? Разве это не единственная цель такого уведомления? –
Нет, вы никогда не захотите, чтобы ваш код выдал вам уведомление. Ошибки исходного кода исходного кода всегда считаются плохими. – NikiC