それはあなたが探しているものに依存します、それが空emptyであるかどうかを確認するだけの場合は、設定されているかどうかをチェックするだけで使用されますisset。何かが設定されているかどうかを知りたい場合は使用してください。
Empty 変数が設定されているかどうかをチェックし、設定されている場合はnull、 ""、0などをチェックします
Isset 設定されているかどうかを確認するだけで、null以外の値である可能性があります
ではempty、次のようなものが空であると見なされています。
- ""(空の文字列)
- 0(0は整数)
- 0.0(フロートとして0)
- "0"(文字列として0)
- ヌル
- 偽
- array()(空の配列)
- var $ var; (宣言された変数ですが、クラスに値がありません)
http://php.net/manual/en/function.empty.phpから
コメントで述べたように、警告がないことはempty()でも重要です
PHPマニュアルによると
empty()は(ブール)varの反対ですが、変数が設定されていない場合は警告が生成されません。
issetについて
PHPマニュアルによると
isset()は、NULLに設定されている変数をテストするとFALSEを返します
あなたのコードは次のようにうまくいきます:
<?php
$var = '23';
if (!empty($var)){
echo 'not empty';
}else{
echo 'is not set or empty';
}
?>
例えば:
$var = "";
if(empty($var)) // true because "" is considered empty
{...}
if(isset($var)) //true because var is set
{...}
if(empty($otherVar)) //true because $otherVar is null
{...}
if(isset($otherVar)) //false because $otherVar is not set
{...}