PHP の isset()、empty()、および is_null() の違いに関する簡単な説明

青灯夜游
リリース: 2023-04-10 09:28:01
転載
4069 人が閲覧しました

PHP では、isset()、empty()、is_null() はすべて変数の値をテストするために使用できますが、それらの違いは何でしょうか?次の記事では、これら 3 つの機能を比較し、その違いを理解します。

PHP の isset()、empty()、および is_null() の違いに関する簡単な説明

#いくつかの定義から始めましょう。

  • isset() : isset() を使用すると、変数が宣言されているかどうかを判断でき、 null ### 異なります。

  • empty() : 変数が存在し、変数の値が false に評価されていないかどうかを判断するために使用されます。

  • is_null() : この関数は、変数が null であるかどうかを確認するために使用されます。

PHP isset() vs empty()

以下からわかるように、定義 はい、以前に変数を定義し、その値を

NULL 以外に設定した場合、isset()true を返します。これには、0、空の文字列、または false を含めることができます。一方、empty() は、変数の値が false に設定されている場合は常に true を返します。これらの値を「偽値」と呼びます。エラー値の例には、0、空の文字列 "" および文字列 "0"、空の配列 NULL が含まれます。 、そしてもちろんブール値 false を持ちます。

isset()empty() の類似点の 1 つは、どちらも言語構造であるため、変数関数を使用して呼び出すことができないことです。

以下のコード スニペットで 2 つの違いを説明します。

<?php

$fruit = &#39;&#39;;

if(isset($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// Output:  Do you like ?

if(!empty($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// No Output

?>
ログイン後にコピー

empty()isset() 関数を使用して記述できることに注意してください。

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}
ログイン後にコピー

もちろん、多くの場合、組み込みの

empty() 関数を使用する方が簡単です。

PHP isset()is_null()

変数の値が明示的に ## に設定されている場合#NULL

の場合、is_null() 関数は true を返します。それ以外の場合は、単に false を返します。一方、isset() は、変数が定義され、その値が NULL でない場合には常に true を返します。 ここでは、それらの違いを説明するための基本的な例を示します。

<?php

$fruit = NULL;

if(isset($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// No Output

if(is_null($fruit)) {
    echo &#39;There is no fruit.&#39;;
}
// Output: There is no fruit.

?>
ログイン後にコピー
ログイン後にコピー

PHP

empty() vs is_null()変数の値が ## と評価される場合# false

の場合、

empty() 関数は true を返します。これは、空の文字列 NULL、整数 0、または要素のない配列を意味する場合があります。一方、 is_null() は、変数の値が NULL の場合にのみ true を返します。 ここでは、それらの違いを説明するための基本的な例を示します。

<?php

$fruit = NULL;

if(isset($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// No Output

if(is_null($fruit)) {
    echo &#39;There is no fruit.&#39;;
}
// Output: There is no fruit.

?>
ログイン後にコピー
ログイン後にコピー

覚えておくべき重要なこと

よりクリーンなコードを記述し、今後のエラーを回避するために使用できるヒントが 2 つあります。

1.

empty()

is_null() とは異なり、同時に複数の値を isset() に渡すことができます。未定義のものがないか、NULL に設定されているかどうかを確認してください。この場合、isset() は、渡された値が NULL でない場合にのみ true を返します。 2.2. 値が NULL

であるかどうかを確認するために

== を使用しないでください。これにより、false と評価される空の文字列のような値に対して偽陽性が発生します。 推奨学習: 「PHP ビデオ チュートリアル

以上がPHP の isset()、empty()、および is_null() の違いに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート