ホームページ バックエンド開発 PHPチュートリアル PHP isset() と empty() の違いの詳しい説明_PHP チュートリアル

PHP isset() と empty() の違いの詳しい説明_PHP チュートリアル

Jul 21, 2016 pm 03:34 PM
empty isset php 一般的に そして 使用 関数 違い 変数 検出 詳しい説明

PHP の isset() 関数は、通常、変数が設定されているかどうかを検出するために使用されます
形式: bool isset (mixed var [,mixed var [, ...]])

関数: 変数が設定されているかどうかを検出します

Return value:

変数が存在しない場合は FALSE を返します
変数が存在し、その値が NULL の場合も FALSE を返します
変数が存在し、その値が NULL でない場合は TRUE を返します
で複数の変数をチェックする場合同時に、各単一項目が前の要件を満たしている場合は TRUE のみを返し、それ以外の場合は結果は FALSE になります
バージョン: PHP 3、PHP 4、PHP 5
その他の指示:
unset() を使用して変数を解放した後は、もはや isset() です。
PHP 関数 isset() は変数にのみ使用でき、他のパラメータを渡すと解析エラーが発生します。
定数が設定されているかどうかを検出するには、define() 関数を使用します。

PHPのempty()関数は、値が空かどうかを判定します

形式: bool empty (mixed var)

関数: 変数が空かどうかを確認します

戻り値:

変数が存在しない場合はTRUEを返します
変数が存在し、その値が ""、0、"0"、NULL、FALSE、array()、var $var; および属性のないオブジェクトの場合、TRUE が返されます
変数が存在し、その値が存在しない場合""、0、"0"、NULL、FALSE、array()、var $var; および属性のないオブジェクトは FALSE を返します
バージョン: PHP 3、PHP 4、PHP 5
その他の命令:
empty() value =!(boolean) var ですが、変数が未定義であるため、警告メッセージは生成されません。詳細については、「ブール値への変換」を参照してください。
empty() は変数にのみ使用できます。他のパラメータを渡すと Paser エラーが発生し、操作が終了します。
定数が設定されているかどうかを検出するには、define() 関数を使用します。
例: empty() と isset() の単純な比較

コードをコピー コードは次のとおりです:

$var = 0;
// $ であるため、結果は true になります。 var は空です
if (empty($var)) {
echo '$var は 0 か、まったく設定されていません';
}
// $var が設定されているため、結果は false になります
if (!isset($ var)) {
echo '$var is not set at all';
?>

注: これは関数ではなく言語構造であるため、変数関数から呼び出すことはできません。
注: empty() は変数のみを検出します。変数ではないものを検出すると解析エラーが発生します。つまり、次のステートメントは機能しません: empty(addslashes($name))。
以下は、Script House によってテストされた isset 関数と empty 関数の詳細な例のコードです。これを読んだ後は、基本的に同じです:

コードをコピーします コードは次のとおりです。

error_reporting(E_ALL);
echo '未定義 $var
'
echo "isset test:
"; var ))
{
echo '変数 $var が存在します!

}
if ( empty ( $var )){
echo 'の値は空です
';
}
else
{
echo '変数 $var の値は空ではありません
';
}
echo "変数の直接テスト:
"; $var ){
echo '変数 $var は存在しません!
';
}
else {
echo '変数 $var は存在しません!
'
}
echo '------ ----------------------------
';
echo '$var = ''';
echo "isset test:
";
if (isset ( $var ))
{
echo '変数 $var が存在します!
' ;
}
echo "空のテスト:
";
if ( empty ( $var )){
echo '変数 $var の値が空です'
}
else
{
echo '変数 $var の値が空ではありません
';
}
echo "変数直接テスト:
";
if ( $var ){
echo '変数 $var が存在します!
';
}
else {
echo '変数 $var が存在しません!
'
}
echo '---------------------- --------
';
echo '$var = 0
';
echo 'isset test:
'; var = 0;
if ( isset ( $var ))
{
echo '変数 $var が存在します!
' ;
echo "空のテスト:
"; )){
echo '変数 $var の値が空です
';
}
else
{
echo '変数 $var の値が空ではありません
';
echo "変数の直接テスト:
";
if ( $var ){
echo '変数 $var が存在します!
';
}
else {
echo '変数 $var が存在しません!
' ;
}
エコー '---------------------------------
'
エコー '< ;B> $var = null

';
$var = null ;
if ( isset ( $var ))
echo ' $var が存在します !
' ;
}
echo "empty test:
";
if ( empty ( $var )){
echo '変数 $var の値が空です
';
}
else
{
echo '変数 $var の値が空ではありません
';
}
echo "変数の直接テスト:
";
echo '変数 $ var が存在します!
';
else {
echo '変数 $var が存在しません!
'
}
echo '--------------- --- ---------------
';

echo '$var ="php"
'; echo 'isset テスト:
';
$var = "php";
if (isset ( $var ))
echo '変数 $var が存在します!
' ;空のテスト:
";
if ( empty ( $var )){
echo '変数 $var の値は空です
';
}
else
{
echo '変数 $var の値は空ではありません
';
}
echo "変数の直接テスト:
";
if ( $var ){
echo '変数 $var が存在します!
';
else {
echo '変数 $var が存在しません!
';
}
?>



PHP でページ プログラムを作成するとき、PHP の最後に変数値があるかどうかを判断するために変数処理関数をよく使用します。ページが空です。 Start empty() 関数の使用に慣れていましたが、いくつか問題が見つかったので、isset() 関数に切り替えたところ、問題はなくなりました。
名前が示すように、empty() は変数が「空」かどうかを判断し、isset() は変数が設定されているかどうかを判断します。いわゆる「名前のとおり」ということで、最初に少し回り道をしました。変数の値が 0 の場合、empty() も真 (True) になるため、いくつかの事故が発生します。 empty() と isset() は両方とも変数処理関数であり、両方とも変数が設定されているかどうかを判断するために使用されますが、いくつかの違いがあることがわかりました。empty は変数が空かゼロかどうかも検出します。変数値が 0 の場合、empty() は変数が空であることと同等、つまり設定されていないことと同等であるとみなします。
たとえば、$id 変数を検出するには、$id=0 の場合、empty() と isset() を使用して、変数 $id が設定されているかどうかを検出します。両方とも異なる値を返します。empty() は、あると考えます。設定なし、isset() $id の値を取得できます:




コードをコピー

コードは次のとおりです:


$id=0;
empty($id)?print "空です。" :print "$id です。";
//結果: 空です。
!isset($id)?print "$id です。"; //結果: 0 です



これは、変数処理関数を使用する場合、変数の値が 0 である可能性がある場合、empty() を使用するときは注意し、現時点ではそれを isset に置き換える方が賢明であることを意味します。
PHP ページの URL 末尾パラメーターが id=0 である場合 (例: test.php?id=0)、比較してみます:

コードをコピーします コードは次のとおりです:

if(empty($id )) $id=1; - id=0 の場合、id も 1 になります
if(!isset($id)) $id=1; - id=0 の場合、id は 1 になりません


は分離できます。 上記の推論を検出するには、次のコードを実行します。

コードをコピーします。 コードは次のとおりです。
if(empty($id)) $id=1; $id; // get 1
if(!isset( $id)) $id=1;
print $id; // Get 0



それらの接続について言えば、empty() とisset() は両方とも変数処理関数であり、その機能は変数がすでに構成されているかどうかを判断することですが、変数の処理プロセスが非常に類似しているため、それらの関係についての理解が不十分です。 empty() と isset() の 2 つの関数自体だけを考慮すると、別の角度から見るとさらに混乱するでしょう。 empty() と isset() の処理対象は未定義変数、0、空文字列に過ぎません。
変数が 0 の場合、empty() は TRUE を返し、isset() は TRUE を返します。

変数が空の文字列の場合、empty() は TRUE を返し、isset() は TRUE を返します。定義されていない場合、empty() は TRUE を返し、isset() は FLASE を返します。


マニュアルでの empty() の説明は次のとおりです。


説明 bool empty(mixed var) var が非空またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var;、およびプロパティを持たないオブジェクトは空とみなされ、var が空の場合は TRUE が返されます。
マニュアルでの isset() の説明は次のとおりです:


isset() は変数が設定されているかどうかを検出します 説明 bool isset (mixed var [,mixed var [, ...]] )

Returns var が存在する場合は TRUE、それ以外の場合は FALSE を返します。

unset() を使用して変数が解放された場合、それは isset() ではなくなります。 isset() を使用して NULL に設定された変数をテストすると、FALSE が返されます。また、NULL バイト (「?」) は PHP の NULL 定数と同等ではないことに注意してください。
警告: isset() は変数でのみ使用できます。他のパラメータを渡すと解析エラーが発生するためです。定数が設定されているかどうかを確認したい場合は、define()関数を使用できます。


変数が宣言されているかどうかを判定したい場合はisset関数を使うことができます
変数にデータが代入され空でないかどうかを判定したい場合はempty関数を使うことができます
こんなことをしたい場合変数が存在するか空でないかを判断するには、まず isset 関数を使用し、次に empty 関数を使用します


http://www.bkjia.com/PHPjc/322452.html

www.bkjia.com

http://www.bkjia.com/PHPjc/322452.html技術記事 PHP の isset() 関数は、通常、変数がフォーマットされているかどうかを検出するために使用されます。 bool isset (mixed var [,mixed var [, ...]]) 関数: 変数が設定されているかどうかを検出します。 戻り値: 変数が設定されていない場合。存在する、戻る...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

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 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

C言語合計の機能は何ですか? C言語合計の機能は何ですか? Apr 03, 2025 pm 02:21 PM

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

C言語のcharとwchar_tの違い C言語のcharとwchar_tの違い Apr 03, 2025 pm 03:09 PM

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

XMLをPDFに変換できるモバイルアプリはありますか? XMLをPDFに変換できるモバイルアプリはありますか? Apr 02, 2025 pm 08:54 PM

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

GO言語の「VAR」と「タイプ」キーワード定義構造の違いは何ですか? GO言語の「VAR」と「タイプ」キーワード定義構造の違いは何ですか? Apr 02, 2025 pm 12:57 PM

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

See all articles