(php)empty()とisset()を比較してみる。
結論
- empty関数 → 変数が空であるかどうか
- isset関数 → 変数がセットされているかandNULL でないか
1. empty関数 (変数が空であるかどうかを調べる)
bool empty ( mixed $var )
<?php $var; var_dump(empty($var)); // true 空 $var = ''; var_dump(empty($var)); // true $var = 0; var_dump(empty($var)); // true $var = '0'; var_dump(empty($var)); // true $var = null; var_dump(empty($var)); // true $var = array(); var_dump(empty($var)); // true $var = ' りんご'; var_dump(empty($var)); // false 空じゃない ?>
- "" (空文字列)
- 0 (整数 の 0)
- 0.0 (浮動小数点数の 0)
- "0" (文字列 の 0)
- NULL
- FALSE
- array() (空の配列)
- $var; (変数が宣言されているが、値が設定されていない)
2. isset関数(変数がセットされていること、そして NULL でないことを調べる)
bool isset ( mixed $var [, mixed $... ] )
<?php $var = ''; var_dump(isset($var)); // true $var = 0; var_dump(isset($var)); // true $var = null; var_dump(isset($var)); // false ?>
http://jp2.php.net/manual/ja/function.empty.php
http://jp2.php.net/manual/ja/function.isset.php