次の2つのIF条件に違いはありますか?PHP:IF条件
if ($insert_id)
{
..
}
if($insert_id != NULL)
{
..
}
実際、関数はmysqlの挿入IDを返します。この関数がidを返したかどうかを確認したいと思います。
次の2つのIF条件に違いはありますか?PHP:IF条件
if ($insert_id)
{
..
}
if($insert_id != NULL)
{
..
}
実際、関数はmysqlの挿入IDを返します。この関数がidを返したかどうかを確認したいと思います。
いいえ、違いはありません。
!== NULLを使用したとしますか?もしそれがちょうど!= NULLならば、それはfalse、 ''(空文字列)、または整数値0に対しても評価されます。
$ insert_id == trueの略語は最初の文と同じです。 != falseまたは!= NULLと同じです。
NULLは、FALSE、ゼロ、空の文字列と大差がありません。基本的には
Study this table to learn about comparisons.
、
$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
$insert_id
がmysql_query
によって返された結果に属している場合は、最初のものを使用します。
if ($insert_id)
{
// do stuff
}
if (!empty($insert_id))
{
}
if($insert_id > 0)
{
}
PHP言語では、式ブーリアーナ(正しいもの)を返す必要はありません。 0、false、nullと ""(空の文字列)のいずれかが異なるものがあります。
何をしようとしているのかに違いはありません。
基本的には、変数が設定されているかどうかを確認することです。 ゼロ以外の式は本質的に真であるため、値がある場合は と評価されます。
唯一の時間は、特にNULL値をチェックしていた場合です。
mysql関数はブール値を返します。エラー時にはFALSEを返し、その他の場合は成功します。彼らはnullを返すべきではありません。 –
@Marc Bなので、いくつかのmysqlエラーがあり、それではinsert_idが返されない場合、最初の条件はtrueになりますか?整数(insert_id)が返された場合にのみ、条件が真であることを確認するためにどのメソッドを使うべきですか?他のすべての場合には、それは偽でなければならない。 – Roman
いいえ、失敗は偽に変わったので、それはまだ間違いでしょう。 'if($ result_from_mysql === FALSE){... failure ...}'で明示的にテストすることができます。 –