ホームページ > バックエンド開発 > PHPの問題 > 変数が空かどうかを検出するphpのメソッドは何ですか?

変数が空かどうかを検出するphpのメソッドは何ですか?

王林
リリース: 2023-03-08 06:02:01
転載
3294 人が閲覧しました

変数が空かどうかを検出するphpのメソッドは何ですか?

PHP には変数が空かどうかを検出するメソッドとして次の 5 つがありますが、これら 5 つのメソッドの違いは何でしょうか?以下、一緒に見ていきましょう。

1. isset 関数: 変数が初期化されているかどうかを判断します

注: 変数が空かどうかは判断しませんが、配列内の要素が初期化されているかどうかを判断するために使用できます。定義されています。

注: isset を使用して配列要素が初期化されているかどうかを判断する場合、その効率は array_key_exists よりも約 4 倍高くなります。

<?php
    //$a = &#39;&#39;;
    //$a = false;
    $a[&#39;c&#39;] = &#39;&#39;;
    if (!isset($a)) echo &#39;$a 未被初始化&#39; . "<br/>";
    if (!isset($b)) echo &#39;$b 未被初始化&#39; . "<br/>";
    if (isset($a[&#39;c&#39;])) echo &#39;$a 已经被初始化&#39; . "<br/>";
//结果
// $b 未被初始化
// $a 已经被初始化
ログイン後にコピー

2. empty() 関数: 変数が「空」かどうかを検出します

説明: 初期化されていない変数、値は 0 または false、または空の文字列 "" または null 変数、空の配列、プロパティのないオブジェクト、empty(variable) == true。

注 1: 初期化されていない変数は、empty によって「空」として検出されることもあります。

注 2: empty はステートメントではなく変数のみを検出します。

<?php
$a = 0;
$b = &#39;&#39;;
$c = array();
if (empty($a)) echo &#39;$a 为空&#39; . "<br/>";
if (empty($b)) echo &#39;$b 为空&#39; . "<br/>";
if (empty($c)) echo &#39;$c 为空&#39; . "<br/>";
if (empty($d)) echo &#39;$d 为空&#39; . "<br/>";
//结果
// $a 为空
// $b 为空
// $c 为空
// $d 为空
var_dump(empty(null));
var_dump(empty(0));
var_dump(empty(&#39;&#39;));
var_dump(empty([]));
//结果
// bool(true)
// bool(true)
// bool(true)
// bool(true)
ログイン後にコピー

3. var == null 機能: 変数が「空」かどうかを判断します

説明: 値は 0 または false、または空の文字列 "" または null 変数です。 empty 配列および配列はすべて null と判断されます。

(学習ビデオ共有: php ビデオ チュートリアル)

注: 空との大きな違いは、変数が初期化されていない場合、var == null はエラーを報告することです。エラー。

<?php
$a = 0;
$b = array();
if ($a == null) echo &#39;$a 为空&#39; . "";
if ($b == null) echo &#39;$b 为空&#39; . "";
if ($c == null) echo &#39;$c 为空&#39; . "";

// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c
ログイン後にコピー

4. is_null 関数: 変数が "null" かどうかを検出します

説明: 変数に "null" の値が割り当てられている場合、検出結果は true になります。

注 1: null は大文字と小文字を区別しません。a=null;a=null;a = NULL は区別しません。

注2: 検出結果がtrueとなるのは変数の値がnullの場合のみで、0、空文字列、false、空配列はすべてfalseとして検出されます。

注 3: 変数が初期化されていない場合、プログラムはエラーを報告します。

<?php
$a = null;
$b = false;

if (is_null($a)) echo &#39;$a 为NULL&#39; . "";
if (is_null($b)) echo &#39;$b 为NULL&#39; . "";
if (is_null($c)) echo &#39;$c 为NULL&#39; . "";

// 显示结果为
// $a 为NULL
// Undefined variable: c
ログイン後にコピー

5. var === null 関数: 変数が "null" かどうかを検出し、変数の型も "null" である必要があります

説明: 変数が代入されるとき値が「null」 変数の型も「null」の場合、検出結果は true になります。

*注 1: null を判定する場合、is_null に等しいと同じ効果があります。

#**注 2: 変数が初期化されていない場合、プログラムはエラーを報告します。

概要:

PHP では、「NULL」と「空」は 2 つの概念です。

isset は主に、変数が初期化されているかどうかを判断するために使用されます。
emptyは、値が「false」、「empty」、「0」、「NULL」、「未初期化」の変数をTRUEと判定します。
is_null は、値が「NULL」の変数のみを TRUE として評価します。
var == null 値が「false」、「empty」、「0」、「NULL」の変数をTRUEと判定します。
var === null 値が「NULL」の変数のみがTRUEと判断されます。

注: 変数が本当に "NULL" であるかどうかを判断する場合、is_null は主に "false"、"0"、およびその他の値による干渉を避けるために使用されます。

関連する推奨事項:

php チュートリアル

以上が変数が空かどうかを検出するphpのメソッドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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