PHP Loop Performance Showdown: Which Loop is the Fastest?

HomeProductivityPHP Loop Performance Showdown: Which Loop is the Fastest?

As far as my knowledge is concerned, I never use it for array traversal. I will do it for other types of iterations. But for each is just too easy. The execution time difference is very minimal in most scenarios. Knowing when performance matters is part of building practical digital skills.

It is a very surprising thing to watch here:

for($i =0; $i < count($array); $i++){

This loop is very expensive. It calls count on every single iteration.

As for the iterators, for each is equivalent to:

$it->get();
while($it->true()){
$key = $it->key();// If using the $key => $value syntax
$value = $it->current();
 
// Contents of the loop in here
 
$it->next();
}

As far as faster ways to iterate is concerned, it just depends on the problem. This kind of problem-based thinking helps in developing stronger programming and digital skills.

Remember, Premature Optimization Is The Root Of All Evil.

This is the example below, based on the practical execution time taken;

$a = array();
for($i =0; $i <10000; $i++){
$a[]= $i;
}
 
$start = microtime(true);
foreach($a as $k => $v){
$a[$k]= $v +1;
}
echo “Completed in “, microtime(true) $start,” Seconds\n”;
 
$start = microtime(true);
  
$start = microtime(true);
foreach($a as $k =>&$v){
$v = $v +1;
}
echo “Completed in “, microtime(true) $start,” Seconds\n”;
 
$start = microtime(true);
foreach($a as $k => $v){}
echo “Completed in “, microtime(true) $start,” Seconds\n”;
 
$start = microtime(true);
foreach($a as $k =>&$v){}
echo “Completed in “, microtime(true) $start,” Seconds\n”;
output :
  
Completedin0.0073502063751221Seconds
Completedin0.0019769668579102Seconds
Completedin0.0011849403381348Seconds
Completedin0.00111985206604Seconds

This is another example of providing script execution time. Learning these coding concepts supports future-ready digital skills for modern careers.

By using a for loop:
 
for($i=0;$i<100000;$i++)
{
//Do Something
}
 
Usinga whileloop
 

$i=0;
while($i<100000)
{
//do something
$i++;
}
 
Using a do while loop :
 
$i=0;
do
{
//do something
$i++;

} while($i<100000);

Output

 

Also Read:

Explore Growth Guides

Unlock the 100 most valuable blog posts banner featuring Pearls of Wisdom collection with books and premium insights for career growth, skills, mindset and productivity
Contributing Author
Contributing Author
InPeaks.com gives you an awesome opportunity to submit your unique content that are educative, informative, knowledgeable and adding value to the people. You may submit the post using the 'Guest Blog' link. Read the guidelines before submission. Thank you.
🗨️ Join the Conversation!
Share your thoughts in the comments below.

3 COMMENTS

  1. I like what you guys are up too. Such smart work and reporting! Keep up the excellent works guys I have incorporated you guys to my blogroll. I think it’ll improve the value of my website :).

  2. Terrific article! This is the type of information that are supposed to be shared around the web. Shame on the search engines for not positioning this post upper! Come on over and discuss with my site . Thank you =)

  3. Hi! Someone in my Facebook group shared this site with us so I came to look it over. I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my followers! Superb blog and outstanding style and design.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

💡 Life Compass Quiz

Related