ホームページ  >  記事  >  バックエンド開発  >  php empty()、isset()、is_null()関数の使用例_PHPチュートリアル

php empty()、isset()、is_null()関数の使用例_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 10:59:22913ブラウズ

php の 3 つの関数 empty()、isset()、is_null() は多くの関数と似ていますが、簡単に考えてみると、1 つは null 値、1 つは変数、そして 2 つは異なるように見えます。 null かどうかを以下に例を挙げて説明します。 ​

PHP の empty()、isset()、および is_null() 関数の使用法については、インターネット上にたくさんの情報がありますが、明確に説明できない人が多いです。ここにテスト例を示します。これら 3 つの機能を理解するのに役立ちます。

テストの種類は次のとおりです:

$a;
$b = false;
$c = '';
$d = 0;
$e = null;
$f = 配列();
?>


空()

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

var_dump(空($a));
var_dump(空($b));
var_dump(空($c));
var_dump(空($d));
var_dump(空($e));
var_dump(空($f));
?>

// 出力
ブール(真)
ブール(真)
ブール(真)
ブール(真)
ブール(真)
ブール(真)

コードからわかるように、empty() はデータ型が空または false である限り true を出力します。

isset()

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

var_dump(isset($a));
var_dump(isset($b));
var_dump(isset($c));
var_dump(isset($d));
var_dump(isset($e));
var_dump(isset($f));
?>

// 出力
ブール(偽)
ブール(真)
ブール(真)
ブール(真)
ブール(偽)
ブール(真)

isset() は、NULL か未定義かを判断するためにのみ使用できることがわかります。


警告: isset() は変数でのみ使用できます。他の引数を渡すと解析エラーが発生するためです。定数が設定されているかどうかを確認したい場合は、define()関数を使用できます。
変数が宣言されているかどうかを確認したい場合は、isset関数を使用できます
変数にデータが割り当てられており、空ではないかどうかを確認したい場合は、empty関数を使用できます
変数が存在し、空ではないかどうかを確認したい場合は、まず isset 関数を使用し、次に empty 関数を使用します

たとえば、$id 変数を検出するには、$id=0 の場合、empty() と isset() を使用して、変数 $id が設定されているかどうかを検出します。両方とも異なる値を返します。empty() は、あると考えます。設定なし、isset() $id の値を取得できます:

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

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

」を印刷 ";
!isset($id)?print "空です。":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(空($id)) $id=1;
$id を出力します // 1 を取得します

if(!isset($id)) $id=1;
print $id //0 を取得します。

is_null()

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

is_null はリテラルです。

empty() はすべてのデータ型が空か false かを判断するために使用できるのに対し、is_null は基本的に isset と同じであり、NULL か未定義かどうかを判断するためにのみ使用できることがわかります。

後ほど表を添付します

次の表は、それらの間の関係を明確に示しています:

変数 $ a = "" $a=nullなぜなら var $ a $a=array() 「 $a=false 「 $ A = 15 偽偽真

$ a = 1 偽 偽 真
$a=0 「 $ a = "0" true false true
$ a = "True" False False True
$ a = "False" False False True





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

www.bkjia.com


tru​​e

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

PHP では、empty()、isset()、is_null() の 3 つの関数は多くの関数と似ていますが、簡単に考えてみると、null 値、変数であるかどうかは異なるようです。それは...

var_dump(is_null($a)); var_dump(is_null($b));
var_dump(is_null($c));
var_dump(is_null($d));
var_dump(is_null($e));
var_dump(is_null($f));
?>

// 出力

ブール(真)
ブール(偽)
ブール(偽)
ブール(偽)
ブール(真)
ブール(偽)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。