PHP empty() isset() is_null() の違いとパフォーマンスの比較_PHP チュートリアル
PHP では、empty()、isset()、is_null() の 3 つの関数はすべて空かどうかを判断するために使用されますが、これら 3 つの関数を詳しく理解したい場合は、まだ多くの違いがあることがわかります。私が説明します みんながまとめてくれました。
is_null()、empty()、isset()、これらの関数と == "、== array() は実際の操作でよく使われます。関数は非常に似ているため、違いが見落とされます。注意しないと、作業に多大な問題を引き起こす可能性があります。これらの構造は、あなた自身とみんなの参考のために以下にリストされています。表現の正確性を考慮して、一部の説明は、中国語の時宜にかなった更新や翻訳を避けるために、オリジナルの英語マニュアルからのものです。マニュアルが不適切など
is_null()
is_null()、bool、パラメータが null の 3 つの条件を満たす場合、is_null() は TRUE を返します。
null タイプ、次の状況は NULL とみなされます:
定数 NULL が割り当てられています。
まだ値が設定されていません。
設定が解除されました()。
出典:http://cn2.php.net/manual/en/ language.types.null.php
いせと()
isset()、ブール値。パラメータが NULL ではなく設定されているかどうかを判断するために使用されます。パラメータには変数のみを使用できます。
変数が設定されていない場合、変数が unset() されている場合、または変数値が NULL の場合は FALSE を返し、それ以外の場合は TRUE を返します。つまり、NULL でない場合は isset のカテゴリに分類され、is_null() 関数の正反対になります。
複数のパラメータが渡された場合、交差部分が取得されます。つまり、すべてのパラメータが isset() と一致する場合にのみ TRUE が返されます。
ps:define()、bool、定数が設定されているかどうかを確認するために使用されます。
出典:http://cn2.php.net/manual/en/function.isset.php
空()
empty()、bool、主に変数が空かどうかを判断するために使用されます。パラメータには変数のみを使用できます。
以下の状況は空とみなされます:
コードは次のとおりです | コードをコピー |
"" (空の文字列) 0 (0は整数) 0.0 (浮動小数点数としての 0) 「0」(文字列としての0) ヌル 誤り array() (空の配列) var $var; (変数は宣言されていますが、クラスに値はありません) |
注: パラメーターが設定されていない変数の場合、変数は NULL とみなされ、エラーは報告されず、TRUE が返されます。
ただし、5.0.0 以降では、プロパティのないオブジェクトは空とみなされなくなることに注意してください。
出典:http://cn2.php.net/manual/en/function.empty.php
空かどうかを判断する他の方法は == "、 == array() などですが、これらは非常に限定的であり、何も言うことはありません。
テストの種類は次のとおりです:
コードは次のとおりです | コードをコピー |
$a; ?> 空() 最初は、空の var_dump 出力です:
プログラムの出力は次のとおりです: コードからわかるように、empty() はデータ型が空または false である限り true を出力します。 isset の出力をもう一度見てください: // 出力 isset() は、NULL か未定義かを判断するためにのみ使用できることがわかります。 最後はis_null: // 出力 |
is_null はリテラルです。
empty() はすべてのデータ型が空か false かを判断するために使用できるのに対し、is_null は基本的に isset と同じであり、NULL か未定義かを判断するためにのみ使用できることがわかります。isset、empty、is_null の違いの概要:
先ほど紹介したこと: 変数とパラメーターの型のチェック、これはこれら 3 つの関数の違いの基礎であり、最も見落とされやすいものでもあります。インターネット上でこれら 3 つの機能を比較した記事をたくさん見かけました。これらがカバーされることはほとんどありません。次にお話したいのは、両方が既存の変数をチェックするときの違いです。
コードをコピー | |
$a=100; $b=""; $c=null; //セットチェック echo "isset","$a=$a",isset($a)?"define":"undefine","rn"; echo "isset","$b=$b",isset($b)?"define":"undefine","rn"; echo "isset","$c=$c",isset($c)?"define":"undefine","rn"; 設定解除($b); echo "isset","$b",isset($b)?"define":"undefine","rn"; $b=0; エコー「rnrn」;
//空の小切手 echo "empty","$a=$a",!empty($a)?"no empty":"empty","rn"; echo "empty","$b=$b",!empty($b)?"no empty":"empty","rn"; echo "empty","$c=$c",!empty($c)?"no empty":"empty","rn"; 設定解除($b); echo "empty","$b",!empty($b)?"no empty":"empty","rn"; $b=0; エコー「rnrn」;
//is_null チェック echo "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"; 設定解除($b); echo "is_null","$b",is_null($b)?"no null":"null","rn";
|

ホット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)

ホットトピック









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

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

Photoshopでパスワードで保護されたPDFをエクスポート:画像ファイルを開きます。 [ファイル]&gtをクリックします。 「エクスポート」> 「PDFとしてのエクスポート」。 「セキュリティ」オプションを設定し、同じパスワードを2回入力します。 [エクスポート]をクリックして、PDFファイルを生成します。

PHPの厳格なタイプは、declare(strict_types = 1)を追加することで有効になります。ファイルの上部に。 1)関数パラメーターのタイプチェックと戻り値を強制して、暗黙の型変換を防ぎます。 2)厳格なタイプを使用すると、コードの信頼性と予測可能性を改善し、バグを減らし、保守性と読みやすさを向上させることができます。

PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

H5とMINIプログラムのプロモーション方法には違いがあります。プラットフォーム依存:H5はブラウザに依存し、MINIプログラムは特定のプラットフォーム(WeChatなど)に依存しています。ユーザーエクスペリエンス:H5エクスペリエンスは貧弱で、ミニプログラムはネイティブアプリケーションと同様のスムーズな体験を提供します。通信方法:H5はリンクを介して広がり、ミニプログラムはプラットフォームで共有または検索されます。 H5プロモーション方法:ソーシャル共有、電子メールマーケティング、QRコード、SEO、有料広告。ミニプログラムプロモーション方法:プラットフォームプロモーション、ソーシャル共有、オフラインプロモーション、ASO、他のプラットフォームとの協力。
