登录  /  注册

php中For、While、Foreach的对比说明

伊谢尔伦
发布: 2017-06-23 13:23:09
原创
1358人浏览过

在使用php作为编程语言的过程中,我们经常会遇到需要将一段代码执行多次的情况。这时就需要用到php循环了。php提供了三种不同类型的循环供你在合适的场景中使用:

  • For 循环

  • While 循环

  • Foreach 循环

For循环

for循环用于已经确定将你的表达式需要执行多少次的情况。

语法:

for (initialization; condition; increment)
{
    code to be executed;
}
登录后复制
<?php
for($i=1; $i<=100000; $i++)
{    
   echo "The number is " . $i . "<br>";
}
?>
登录后复制

While循环

while表达式将会执行一段代码直到条件语句为false。While循环通常更适合数据库相关操作。

语法:

while (condition)
{
    code to be executed;
}
登录后复制
<?php
// If you had an array with fruit names and prices in you could use foreach
$fruit = array( 
    "orange" =--> "5.00", 
    "apple" => "2.50", 
    "banana" => "3.99" 
); 

foreach ($fruit as $key => $value) 
{ 
 "$key is $value dollars";
} 
?>
登录后复制

三种循环的比较

我们知道在PHP中有多种循环,现在我们需要知道哪种循环更加高效,以便于我们编写的应用更快。

下面我们开始实验进行对比.

While循环 vs. For循环

<?php    
// While Loop    
$a=0;    
     while($a < 1000)
    {
        $a++;
    }
?>
登录后复制

VS.

<?php    
  // For Loop    
    for($a = 0; $a < 1000;)
    {
     $a++;
    }
?>
登录后复制

上述实验证明While循环比For循环执行效率要高出19.71%。因此,推荐尽可能的使用while循环而不是For循环。

For循环 vs Foreach循环

<?php    
  $test = array(1 => "cat", "dog" => 0, "red" => "green", 5 => 4, 3, "me");    
  $keys = array_keys($test);    
  $size = sizeOf($keys);    
  for($a = 0; $a < $size; $a++)
 {        
    $t = $test[$keys[$a]];
  }
?>
登录后复制

VS.

<?php    
  $test = array(1 => "cat", "dog" => 0, "red" => "green", 5 => 4, 3, "me");    
  foreach($test as $t)
  {
    
 }
?>
登录后复制

上述实验证明Foreach 循环比For循环快141.29%!

结论

这些循环通常用于实现不同的目的,现在我们知道了各个循环在执行效率上的表现。当需要追求执行效率的时候,我们通常推荐使用while循环来代替for循环。同样的在foreach循环和loop循环之间,尽可能的使用foreach循环。下一步,我们将会研究如何有效地在模板中使用循环。请继续关注。



以上就是php中For、While、Foreach的对比说明的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号