7

多くの場合、人々は単純に書くことに気づきました

<?php  if($_SESSION['username']) {...} ?>

私が使用している間:

 <?php if(isset($_SESSION['username'])) {...} ?> 

変数が設定されているかどうかを確認するときの違いを誰かが説明できますか (それが私が使用しているものです)。

4

3 に答える 3

10

PHPでは、変数が存在しない(「設定されていない」)場合、PHPはエラーを吐き出しE_NOTICE、欠落している変数を作成して、に割り当てますNULL

サーバーとスクリプトに関する情報を漏らす迷惑なエラーメッセージでスクリプトを埋めたくない場合はisset()、値にアクセスする前にテストに使用します。

基本的に、あなたはPHPに抜け出すように頼んusernameでいて$_SESSION、PHPは「ありませんusername」のようなものです!

于 2012-05-07T23:51:33.803 に答える
3

変数=をfalseに設定したとします。..

$variable = false;

変数がnull、false、またはempty('')..でないことを確認しているため、これは何も返しません。

if($variable){
    echo'something';
}

これは、変数を何に設定したかに関係なく、設定している限り機能します... false、str、int、null以外のすべての可能性があります。

if(isset($variable)){
    echo'something';
}
于 2012-05-08T00:05:17.503 に答える