PHP: ЕСЛИ условие - PullRequest
       13

PHP: ЕСЛИ условие

1 голос
/ 09 июля 2011

Есть ли разница между следующими двумя условиями IF?

if ($insert_id)
{
..
}



if($insert_id != NULL)
{
..
}

На самом деле функция возвращает идентификатор вставки mysql, и я хочу проверить, вернула ли функция идентификатор или нет.

Ответы [ 6 ]

1 голос
/ 09 июля 2011

NULL свободно равен FALSE, Zero и пустой строке.

Изучите эту таблицу, чтобы узнать о сравнениях.

В основном,

$value = NULL;

if($value == FALSE) // True
if($value == '') // True
if($value == 0) // True
while...
if($value === FALSE) // False
if($value === '') // False
if($value === 0) // False
0 голосов
/ 09 июля 2011

Для того, что вы пытаетесь сделать, нет никакой разницы.

По сути, вы пытаетесь увидеть, установлена ​​ли переменная. Так как любое ненулевое выражение по существу верно, если есть значение, оно будет оценить как таковой.

Единственный раз, когда это имеет значение, это если вы специально проверяли значение NULL.

0 голосов
/ 09 июля 2011

На языке php вам не нужно возвращать выражение booleana (что правильно). любое другое значение: 0, false, null и "" (пустая строка) анализируется как true

0 голосов
/ 09 июля 2011
if (!empty($insert_id))
{

}

if($insert_id > 0)
{

}
0 голосов
/ 09 июля 2011

Нет, разницы нет.

Было бы, если бы вы использовали! == NULL.Если это просто! = NULL, оно также будет сравнивать с ложным, '' (пустой строкой) или целочисленным значением 0.

То же самое относится и к первому утверждению, которое сокращенно для $ insert_id == true, котороев основном так же, как! = false или! = NULL.

0 голосов
/ 09 июля 2011

Если $insert_id принадлежит результирующему набору, возвращенному mysql_query, используйте первый:

if ($insert_id)
{
    // do stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...