Voting

: max(eight, nine)?
(Example: nine)

The Note You're Voting On

ehsmeng
14 years ago
I can't use empty() in all situations because '0' is usually not considered empty to me. I did a quick benchmark over the most common ways of testing it. '' == var suffers from '' == 0 is true so that's just there for curiosity.

<?php
$microtimeref
= microtime(true);
$a = 0;
$b = 'asd';
for (
$i = 0; $i < 5000000; $i++)
{
if (
0 == mb_strlen ($b))
{
$a++;
}
}
echo
"Total time 0 == mb_strlen(var): <b>" . round(microtime(true) - $microtimeref,3) . 's</b><br />';
?>

The results:

Total time 0 == mb_strlen(var): 3.141s
Total time 0 === strlen(var): 2.904s
Total time 0 == strlen(var): 2.878s
Total time '' == var: 1.774s
Total time '' === var: 1.706s
Total time empty(var): 1.496s

Thus '' === var will be my zero length string test.

<< Back to user notes page

To Top