PHPにおけるempty,isset,is_nullの使い方と違いを詳しく解説
最近、プロジェクトのソースコードを読んでいると、ソースコード内でempty、isset、is_null関数(言語機能)が無差別に使用されており、明らかに落とし穴があることがわかりました。これらを正しく理解していないと、その後の開発に落とし穴が生じる可能性があります。
1.empty の使用法
bool empty (混合 var)
var が空でない値またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var; および属性のないオブジェクトは、var が空の場合、TRUE が返されます
2.isset ()
isset -- 変数が設定されているかどうかを確認します
説明
bool isset (mixed var [,mixed var [, ...]])
var が存在する場合は TRUE を返し、存在しない場合は FALSE を返します。
unset() を使用して変数が解放された場合、それは isset() ではなくなります。 isset() を使用して NULL に設定された変数をテストすると、FALSE が返されます。また、NULL バイト (「0」) は PHP の NULL 定数と同等ではないことに注意してください。
注: 変数が存在しない場合、isset() と empty() はエラーを報告しません; is_null()、is_numeric() はエラーを報告します
3 つの要素 [0,'',null を区別する方法] ] は次の配列にありますか? (1) 違い 0:
$a = 0; isset($a) && is_numeric($a) === true
(2) 違い ''
$a = ''; empty($a) && $a=== ''
(3) 違い null
$a = null; is_null($a);
さらに、送信時に検出する必要がある場合があります。 $_REQUEST['status'] = 0 の場合は、empty($_REQUEST['status']) を使用して true を返しますが、変数が存在するかどうかを判断するには isset($_REQUEST['status']) を使用します。 not empty
3. is_null():
bool is_null (mixed $var) (php.net公式ドキュメントの関数定義)
パラメータが以下の3つの条件を満たす場合、is_null()はTRUEを返します。それ以外の場合は、FALSE
1 になります。値が割り当てられていません
3。これは、変数 unset() の後、定義されていないことと同じです。
いくつかの例を見てみましょう:
$myvar = NULL; var_dump(is_null($myvar)); // TRUE $myvar1; var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable $num = 520; unset($num); var_dump(is_null($num)); //TRUE Notice: Undefined variable var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable $myvar = 0; is_null($myvar); // FALSE $myvar = FALSE; is_null($myvar); // FALSE $myvar = ''; is_null($myvar); // FALSE
php の isset と empty の違いの詳細な説明
phpパフォーマンスの最適化: isset () は strlen() よりも高速です
以上がPHPにおけるempty,isset,is_nullの使い方と違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









null と C 言語の NULL の違いは次のとおりです。 null は C 言語のマクロ定義であり、通常は null ポインタを表すために使用され、ポインタ変数を初期化したり、条件文でポインタが null であるかどうかを判断したりするために使用できます。 NULL は、C 言語のマクロ定義です。 の定義済み定数で、通常は NULL 値を表すために使用され、NULL ポインター、NULL ポインター配列、または NULL 構造体ポインターを表すために使用されます。

JavaScript では、未定義と null はどちらも「何もない」という概念を表します: 1. 未定義は初期化されていない変数または存在しないプロパティを表します。変数が宣言されていても値が割り当てられていない場合、変数の値は未定義です。オブジェクト内に存在しないプロパティにアクセスする場合、戻り値も未定義になります; 2. null は空のオブジェクト参照を表します。場合によっては、オブジェクト参照を null に設定して、オブジェクト参照が占有しているメモリを解放できます。

この記事では、PHP が配列内に指定されたキーが存在するかどうかを判断する方法について詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP は、指定されたキーが配列内に存在するかどうかを判断します。 PHP では、指定されたキーが配列内に存在するかどうかを判断する方法が数多くあります。 1. isset() 関数を使用します: isset($array["key"]) この関数ブール値を返します。指定されたキーが存在する場合は true、存在しない場合は false。 2. array_key_exists() 関数を使用します: array_key_exists("key",$arr)

null と unknown はどちらも、値が欠落しているか、未定義の状態であることを示します。使用シナリオに応じて、null または unknown の使用を選択するための指針がいくつかあります。1. 変数が空または無効であることを明確に示す必要がある場合、 null を使用できます; 2. 変数が宣言されていても値が割り当てられていない場合、デフォルトで未定義に設定されます; 3. 変数が空か未定義かを確認する必要がある場合は、厳密な等価演算子 "= を使用します。 == 変数が null か未定義かを判断します。

null と未定義の違いは次のとおりです: 1. 意味上の意味; 2. 使用シナリオ; 3. 他の値との比較; 4. グローバル変数との関係; 5. 関数パラメーターとの関係; 6. Nullability チェック; 7. パフォーマンスに関する考慮事項; 8 . JSON シリアル化のパフォーマンス; 9. 型との関係。詳細な紹介: 1. セマンティックな意味。null は通常、この変数が有効なオブジェクト値を持たないことがわかっていることを意味し、未定義は通常、変数に値が割り当てられていない、またはオブジェクトにこの属性がないことを意味します。 2. 使用シナリオ、など。

使用法: 1. 参照型変数を null に初期化し、変数が現在どのオブジェクトも指していないことを示します。 2. 参照型変数を null に設定します。これにより、変数によって参照されるオブジェクトのメモリ領域が解放され、このオブジェクトを回収するガベージコレクタ; 3. 参照が空かどうかを null で判定する 参照が null かどうかを判定することで NullPointerException の発生を回避できる 4. 参照が空かどうかの条件判定に null を使用する

PHP 関数の紹介 -empty(): 変数が空かどうかを確認する PHP プログラミングでは、変数が空かどうかを判断する必要があることがよくあります。 PHP の組み込みの empty() 関数は、変数が空かどうかを確認するために使用されます。この記事では、empty() 関数の使用法を紹介し、いくつかの実用的なコード例を示します。 empty() 関数の使用法は非常に簡単で、1 つのパラメータを受け取り、ブール値を返します。パラメータの値が以下のいずれかの場合、empty()関数は

PHP 配列から null を削除する方法: 1. "foreach($arr as $k=>$v){...}" メソッドを使用して、配列から null 値を削除します; 2. while 構文構造を使用して、 null 値を削除; 3. array_filter 関数を使用して配列をフィルタリングし、null 値を削除します。
