Должен ли я использовать ноль, чтобы увидеть, является ли переменная пустой в PHP? - PullRequest
0 голосов
/ 07 января 2010

Что лучше использовать, когда я использую _GET ['что-то здесь'] для переменной, чтобы проверить, является ли она пустой или нет

if (isset($_GET['url']) != '') {
    //do stuff with it
}

OR

if (isset($_GET['url']) != NULL) {
    //do stuff with it
}

'' или ноль или что-то еще?

Пожалуйста, не называйте это чрезмерной или микрооптимизацией, я просто ищу лучшие практики, спасибо

Ответы [ 3 ]

6 голосов
/ 07 января 2010

Использовать empty () - на самом деле перед проверкой наличия чего-либо в ней существует первый тест переменной.

[Edit: isset () возвращает только TRUE или FALSE, поэтому оба приведенных выше утверждения работают одинаково хорошо]

4 голосов
/ 07 января 2010

Вы должны сделать следующее, чтобы убедиться, что значение существует и не является пустым

if(isset($_POST[myField]) && $_POST[myField] != "") {
Do my PHP code
}
2 голосов
/ 07 января 2010

PHP может быть немного болезненным при отладке пустых / отсутствующих / пустых проверок значений. Вы можете использовать empty() или isset(), но помните случаи, когда empty возвращает true. Это очень либерально с тем, что он считает пустым .

Returns FALSE if var has a non-empty and non-zero value.

The following things are considered to be empty:

"" (an empty string)
0 (0 as an integer)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)

isset более консервативен в том смысле, что он проверяет только наличие переменной и значение NULL. Из документации :

Returns TRUE if var exists and has value other than NULL, FALSE otherwise.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...