Я много раз видел при получении данных из формы следующую проверку:
if (isset($_POST['campo1'])) {
// Resto de código
}
Что делать, если значение $_POST['campo1']
пустое?
Или во многих других случаях я видел следующую проверку:
if (isset($_POST['campo1']) && !empty($_POST['campo1'])) {
// Resto de código
}
Совершенно излишне проверять значение $_POST['campo1']
одновременно с isset()
и !empty()
?
Итак, мой вопрос: как и когда они используются isset()
и empty()
правильно?
Согласно документации isset() :
Например:
Он всегда будет возвращаться к вам,
true
даже если переменная пуста, и ее следует проверить с помощью функцииempty()
:И когда вы должны использовать
isset()
?Пока вы хотите проверить, существует ли переменная, хорошим примером будет, если вы хотите узнать, была ли отправлена форма :
Согласно документации empty() :
Следующие
empty()
выражения считаются пустыми и возвращаютсяtrue
:Важно знать, что предупреждение не генерируется, если переменная не существует.
Это означает, что это
empty()
, по сути, краткий эквивалент:!isset($var) || $var == false
.Так что если мы будем проверять одну и ту же переменную с помощью
isset()
иempty()
одновременно, это будет излишним.Пример, как это можно использовать
isset()
и!empty()
в то же время, когда вы хотите получить данные из формы:Иссет
Вы используете его, когда хотите знать
Пример, файл1.php
Это может быть полезно, если вы хотите проверить, что файл получает переменные POST, поскольку вы можете получить доступ по URL -адресу localhost/myfolder/file1.php , если вы обращаетесь таким образом, вы не отправляете какое-либо значение POST, поэтому он не входит в Если.
Другой пример:
Источник: документация isset
Пустой
Empty должен знать, пуста ли переменная.
Что PHP считает пустым:
Источник: пустая документация
Излишне ли использовать isset вместе с empty?
Нет, так как может быть определена переменная, но значение которой равно 0, то необходимо сначала оценить, что она не равна нулю, и если она не равна нулю, оценить, что она не пуста , если вы хотите вернуть сообщение в пользователя , указывающего, что он должен ввести значение или, если вы его ввели, указать, что это не может быть 0 или пробел, например два примера (формат в целом).
Вывод: isset и empty оценивают переменную по- разному . Isset, если переменная имеет значение null, empty, если она пуста, и может быть NULL или любой из предыдущего списка.
Отлично в индексе, вы также можете использовать эту форму, используя два оператора: