コードは次のとおりです。次のように:
#$test 変数が存在しませんB. それぞれが受け取るパラメータを確認してください。
isset 関数パラメータ:
$test=100;
echo isset($test),isset(100),$isset($b=100);
解析エラー: 解析エラー、予期しない T_LNUMBER、PHPDocument3 行に T_STRING または T_VARIABLE または "$" が必要です;b>3
空の関数パラメータ:
$test=100;
エコー空($test),空(100),空($b=100);
is_null 関数パラメータ:
$test=100;
エコー is_null($test),is_null(100),is_null($b=100);
実行結果: エラーはありません。
比較結果は次のとおりです。
空、isset 入力パラメータは変数 (php 変数は $ 文字で始まる) である必要があり、is_null 入力パラメータには戻り値のみが必要です。 (定数、変数、式など)。 PHP マニュアルでは、空、isset は関数ではなく言語構造であるため、変数関数から呼び出すことができないと分析されています。2. isset、empty、is_null の違いを要約します。 今紹介したこと: 変数とパラメーターの型のチェックが、これら 3 つの関数の違いの基礎です。最も見落とされやすいものでもあります。インターネット上でこれら 3 つの機能を比較した記事をたくさん見かけました。これらがカバーされることはほとんどありません。次にお話したいのは、両方が既存の変数をチェックするときの違いです。
例:コードは次のとおりです: $a=100;
$c=null;//isset check
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";
unset($b); ,"$ b",isset($b)?"define":"undefine","rn";
$b=0;
echo "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": "空" ,"rn";
unset($b);
エコー "空","$b",!empty($b)?"空ではありません":"空","rn";
$b=0;
echo "rnrn";
//is_null check
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";
unset($b); ,"$ b",is_null($b)?"no null":"null","rn";
上記の簡単なテストを通じて、変数が存在する場合、isset、empty、is_null の検出、および値の取得を一般的に知ることができます。上記に例示されていない変数がさらにあります。実際、テストでは次のことが判明しました。
空
変数が空でない値またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、 ""、0、"0"、NULL、FALSE、array()、var $var、unknown; およびプロパティを持たないオブジェクトは空とみなされ、 var が空の場合は TRUE が返されます。
isset
変数が存在する (NULL ではない) 場合は TRUE を返し、それ以外の場合は FALSE (未定義を含む) を返します。変数値は null に設定され、戻り値も false になります。変数の設定を解除すると、変数はキャンセルされます。 isset は NULL 値変数を特別に処理することに注意してください。
is_null
受信値 [値、変数、式] が null であるかどうかを確認し、その値が null であることを返します。 FALSE [未定義の変数を渡すとエラーが発生します! ].
質問: 変数が設定されており、その値が NULL であるかどうかを確認するにはどうすればよいですか?
上記の比較を通して、誰もが私と同じようにこの疑問を心に抱くのではないでしょうか。 変数が null かどうかを検出するには、is_null を使用できますが、変数が定義されていない場合はエラーが発生します。したがって、変数が定義されているかどうかを検出するには isset を使用できると考えましたが、変数の値が null の場合は false を返します。ははは、この問題を解決するにはどうすればよいでしょうか。全員が共有するのを待っています...
変数が存在し、値が NULL であることを確認します。
コードをコピーします コードは次のとおりです
function checkNull($a)
{
if(array_key_exists($a,$GLOBALS))
{
global $$a;
if(is_null($$a))
return true;
}
$test=null; ("テスト"));
var_dump(checkNull("test1"));