Voting

: six plus zero?
(Example: nine)

The Note You're Voting On

markmanning at gmail dot com
6 years ago
I normally count() an array, so I wanted to see how empty() would stack up.

<?php
$test
= array();
$test2 = array();
for (
$x = 0; $x < 1000; $x++) $test[] = $x;

$ts = microtime(true);
for (
$x = 0; $x < 100000000; $x++)
{
if (
count($test))
{
}
}

echo
"Time taken: " . (microtime(true) - $ts) . " sec\n";
?>

For 100,000,000 comparisons, here are the results against PHP 7.2.16 on my hardware:

count($test): 2.697 sec
count($test2): 2.596 sec
$test === array(): 2.579 sec
$test2 === array(): 2.552 sec
empty($test): 3.085 sec
empty($test2): 3.113 sec

In short, it doesn't matter what method is used although empty() is actually just ever so slightly slower despite it being a language construct. YMMV.

<< Back to user notes page

To Top