ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルの empty()、is_null()、および isset() 関数の違い

PHP_PHP チュートリアルの empty()、is_null()、および isset() 関数の違い

Jul 13, 2016 am 10:42 AM
empty isset null php 関数 違い 私たち

empty()、is_null()、isset()の真理値表(差分)

まず、これら 3 つの関数の機能説明を見てみましょう www.bKjia.c0m

isset は、変数がすでに存在するかどうかを判断します。変数が存在する場合は TRUE を返し、存在しない場合は FALSE を返します。

empty は変数が空かどうかを決定します。変数が空でない値またはゼロでない場合、empty() は FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var;、および属性のないオブジェクトは空とみなされ、変数が空の場合は TRUE が返されます。

is_null は変数が NULL かどうかを決定します

さて、これが一般的な説明ですが、この説明はすでに非常にわかりにくいので、以下の具体的な例で分析してみましょう。


これから、変数が "" または 0、または false または null である限り、これらの値がある限り、empty は true を返すことがわかります。

isset は、変数が存在するかどうかのみを判断します。変数が null または未割り当てでない限り、戻り結果は true になります。 isset() を使用して NULL に設定された変数をテストすると、FALSE が返されます。また、NULL バイト ("") は PHP の NULL 定数と同等ではないことに注意してください。

そして is_null はまさに isset の逆結果です。これは isset の逆演算である !isset と考えることができます。

上記の例から、次の結論を引き出すこともできます (これは将来プログラミングでよく使用されるでしょう):

$var は任意の型であると仮定します

empty($var) が true の場合、(bool)($var) は false になります。逆に。

is_null($var) が true の場合、isset($var) は false になります。逆に。

例:

$i=$j+1;

ここでの is_null($j) は true (変数 $j が事前に宣言されていないため、isset($j) は false であることがわかります)

その他の 2 つの注意点:

(1) empty() は変数のみを検出します。変数ではないものを検出すると解析エラーが発生します。つまり、次のステートメントは機能しません: empty(addslashes($name))。

(2) isset() は変数にのみ使用できます。他のパラメータを渡すと解析エラーが発生するためです。定数が設定されているかどうかを確認したい場合は、define()関数を使用します。


isset、empty、is_nullの違いをまとめてみました

先ほど紹介したこと: 変数とパラメーターの型のチェック、これはこれら 3 つの関数の違いの基礎であり、最も見落とされやすいものでもあります。インターネット上でこれら 3 つの機能を比較した記事をたくさん見かけました。これらがカバーされることはほとんどありません。次にお話したいのは、両方が既存の変数をチェックするときの違いです。

次のコードをコピーします
$b="";
$c=null;
//isset check
echo "isset","$a=$a",isset ( $a)?"define":"www.111cN.net undefine","rn";
echo "isset","$b=$b",isset($b)?"define":"undefine", " rn";
echo "isset","$c=$c",isset($c)?"define":"undefine","rn";
echo "isset"," $ b",isset($b)?"define":"undefine","rn";
$b=0;
echo "rnrn";

//空チェック
echo "empty","$a= $ a",!empty($a)?"空なし":"空","rn";
echo "空","$b=$b",!empty($b)?"空なし": " 空","rn";
エコー "空","$c=$c",!empty($c)?"空ではありません":"空","rn"
; echo "空","$b",!empty($b)?"空ではありません":"空","rn";
echo "rnrn"; " is_null","$a=$a",!is_null($a)?"no null":"null","rn"
echo "is_null","$b=$b",!is_null($ b )?"no null":"null","rn";
echo "is_null","$c=$c",!is_null($c)?"no null":"null","rn";
unset($b);
echo "is_null","$b",is_null($b)?"no null":"null","rn";





上記の簡単なテストを通じて、変数が存在する場合、isset、empty、is_null の検出、および値の取得を一般的に知ることができます。上記に例示されていない変数がさらにあります。実際、テストでは次のことがわかりました:


変数が空またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、 ""、0、"0"、NULL、FALSE、array()、var $var、unknown; およびプロパティを持たないオブジェクトは空とみなされ、 var が空の場合は TRUE が返されます。

セット

変数が存在する場合(NULLではない)はTRUEを返し、それ以外の場合はFALSE(未定義を含む)を返します。変数値は null に設定され、戻り値も false になります。変数の設定を解除すると、変数はキャンセルされます。 isset は NULL 値変数を特別に処理することに注意してください。

is_null

受信値 [値、変数、式] が null かどうかを確認します。1 つの変数が定義されており、その値が null の場合のみ、TRUE が返されます。その他の変数は FALSE を返します [未定義の変数が渡されるとエラーが発生します。 】.

詳細については、http://www.bKjia.c0m/phper/php/56681.htmをご確認ください

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/667909.html技術記事 empty()、is_null()、isset() 真理値表 (違い) まず、これら 3 つの関数の機能説明を見てみましょう。 www.111cn.net isset は、変数がすでに存在するかどうかを判断し、変数が存在する場合は TRUE を返します。そうでなければ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

C言語関数の基本的な要件は何ですか C言語関数の基本的な要件は何ですか Apr 03, 2025 pm 10:06 PM

C言語関数は、コードモジュール化とプログラム構築の基礎です。それらは、宣言(関数ヘッダー)と定義(関数体)で構成されています。 C言語は値を使用してパラメーターをデフォルトで渡しますが、外部変数はアドレスパスを使用して変更することもできます。関数は返品値を持つか、または持たない場合があり、返品値のタイプは宣言と一致する必要があります。機能の命名は、ラクダを使用するか、命名法を強調して、明確で理解しやすい必要があります。単一の責任の原則に従い、機能をシンプルに保ち、メンテナビリティと読みやすさを向上させます。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

CとC#の違いと接続は何ですか? CとC#の違いと接続は何ですか? Apr 03, 2025 pm 10:36 PM

CとC#には類似点がありますが、それらは完全に異なります。Cはプロセス指向の手動メモリ管理、およびシステムプログラミングに使用されるプラットフォーム依存言語です。 C#は、デスクトップ、Webアプリケーション、ゲーム開発に使用されるオブジェクト指向のガベージコレクション、およびプラットフォーム非依存言語です。

XPathを使用して、JavaScriptの指定されたDOMノードから検索する方法は? XPathを使用して、JavaScriptの指定されたDOMノードから検索する方法は? Apr 04, 2025 pm 11:15 PM

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? Apr 07, 2025 am 12:02 AM

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Apr 05, 2025 pm 01:03 PM

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...

H5とミニプログラムとアプリの違い H5とミニプログラムとアプリの違い Apr 06, 2025 am 10:42 AM

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

See all articles