I just ran a simple benchmark. Here are the results (for 4.3.5-dev):
$var is undefined -------------------------------------------------------------------------- if ($var) 1075359033.35615200 1.53820896149 55.22% -------------------------------------------------------------------------- if (isset($var)) 1075359033.75500700 0.398854970932 14.32% -------------------------------------------------------------------------- if (empty($var)) 1075359034.16585300 0.410845994949 14.75% -------------------------------------------------------------------------- if (isset($var) && $var) 1075359034.60332200 0.437469005585 15.70% -------------------------------------------------------------------------- $var = ''; / $var = 0; / $var = 1; -------------------------------------------------------------------------- if ($var) 1075358938.68592300 0.353079080582 19.38% -------------------------------------------------------------------------- if (isset($var)) 1075358939.12858000 0.442656993866 24.29% -------------------------------------------------------------------------- if (empty($var)) 1075358939.56134500 0.432765007019 23.75% -------------------------------------------------------------------------- if (isset($var) && $var) 1075358940.15466400 0.593318939209 32.56% --------------------------------------------------------------------------
The tests are nearly identical under PHP5 except the 'if ($var)' test
for '$$var = ''; / $var = 0; / $var = 1;' was about 2% slower.