empty()について
!$varと判定結果は同じだが、宣言していないときのNoticeが出ない
if (!$var) { echo '空です'; } // Notice: Undefined variable: var // 空です if (empty($var)){ echo '空です'; } // 空です
判定結果のテスト
$values = array('', ' ', '0', 0, 1, null, array()); foreach ($values as $value) { if (empty($value)) { // if (!$value) { var_dump($value); echo 'true'.'<br />'; } else { var_dump($value); echo 'false'.'<br />'; } } 結果: // string(0) "" true // string(1) " " false // string(1) "0" true // int(0) true // int(1) false // NULL true // array(0) { } true ※if (empty($value)) を if (!$value)に変更しても結果は同じでした