我女喷友跟我说哦, 那个啥, 听别人说php中最好用foreach不要用for, 因为性能会好点.
我第一反应就是觉得没可能, 第二反应是想一下为什么别人会有这样的结论.
我猜测有的孩纸测试for时, 大概用了以下形式:
for($i=0; $i<count($array); $i++){
...
}
孩纸, 每次循环都要count一下$array里有多少东西, 这可是要耗资源的, 除非将来某个版本的PHP会对这种方式做优化.改为以下形式:
$arraySize = count($array);
for($i=0; $i<$arraySize; $i++){
...
}
PHP对foreach的内部优化估计也是这样的.
然后我就上网找了一下持有"foreach比for效率高"观点的孩纸的实验是怎么做的, 找到其中一个结果:
http://www.phpq.net/research/foreach-while-for.html
果然如我所想, TA在测试for的时候, 用了以下的形式:
for($i = 0; $i < count($arr); $i++){
$str .= $arr[$i];
}
我拿TA的实验用例改为:
$size = count($arr);
for($i = 0; $i < $size; $i++){
$str .= $arr[$i];
效率就上来了.
分享到:
相关推荐
### foreach、while、for性能比较 在编程领域中,循环结构是实现重复操作的基本手段之一。根据不同的场景和需求,开发者可以选择使用`foreach`、`while`或`for`等不同类型的循环。本文将深入探讨这三种循环在PHP中...
在效率方面,`for`和`foreach`的差距通常不会显著到影响大多数应用的性能。然而,在特定情况下,比如需要大量遍历操作并且对性能敏感时,可能需要考虑两者的选择: 1. **初始化开销**:`foreach`需要创建一个迭代器...
foreach和while是两种常用的遍历数组的方式,它们在性能上可能会有所不同。本知识点将详细解释foreach和while在数组遍历中的行为差异,以及如何在不同场景下选择合适的遍历方法。 首先,foreach是PHP提供的一个简洁...
在本主题中,我们将深入探讨四种常见的循环语句:for、while、do while以及C#中的foreach,并通过实例演示如何使用它们来实现有趣的字符图形输出。 首先,`for`循环是一种预定义迭代次数的循环,常用于已知循环次数...
本文将详细讲解PHP中的四种循环:while、do…while、for和foreach。 1. while循环 while循环是基于条件执行的循环。它会持续执行代码块,只要设定的条件为真。基本语法如下: ```php while(条件){ // 要循环执行的...
for和forEach性能对比.md
在"for foreach效率测试代码"中,我们看到的是对这两种循环方式进行性能比较,执行1000000万次字符串遍历操作。这种测试通常是为了评估在大量数据处理时,哪种循环方式更高效。 在大多数情况下,`foreach`循环看...
"for、foreach、iterator的用法和区别" 在 Java 编程语言中,for、foreach 和 iterator 是三种常用的遍历数组和集合的方法。它们之间有相似之处,但也存在着许多不同之处。 相同点:三者都可以用来遍历数组和集合...
`for`和`foreach`循环是处理数组的两种主要方式,而`array_column`函数则是一个强大的工具,允许我们从多维数组中提取特定列的数据。 1. **for循环**:在PHP中,`for`循环通常用于迭代已知次数的情况。它的语法结构...
Java 中的增强 for 循环 foreach 是一种语法糖,它能够提高性能,并减少代码出错的几率。foreach 循环是用来对数组或者集合进行遍历的语法,具体语法如下:for(元素类型 ele : 数组名/Iterable 实例){}。 在编译...
本文将详细解析PHP中的四种主要循环结构:while、do...while、for以及foreach,并通过实例来展示它们的工作原理和用法。 1. while循环 while循环在满足指定条件时重复执行代码块。它的基本语法是: ```php while...
- 在性能方面,`for`循环通常比`forEach`更快,因为后者涉及到函数调用和隐式创建的作用域,但在大多数现代浏览器中,这种差距可能并不明显。 综上所述,虽然`for`循环和`forEach`在基础使用上都可以完成数组遍历...
循环语句为众多程序员们提供了很大的便利,有while、do…while、for和 foreach。而且foreach语句很简洁,但是它的优点不仅仅在于此,它的效率也是最高的。本文将详细给大家关于C#中foreach循环对比for循环的优势和...
在提供的压缩包文件中,"循环控制语句.php"可能包含了`while`和`for`循环的实例,而"foreach循环.php"则可能详细解释了`foreach`循环及其应用。通过学习这些文件,你可以深入理解PHP中的循环控制语句,并在实际项目...
本篇文章深入探讨了for, while, 和foreach三种循环在遍历数组时的时间性能比较。针对在处理大量数据时,选择合适的循环结构可以提高代码的执行效率,作者通过实验和代码示例给出了详尽的分析。以下是对这篇文章中所...
本文将深入探讨C#中的三种主要循环语句:while、for和foreach,并通过实例来解释它们的使用方法。 首先,我们来看`while`循环。`while`循环是最基础的循环结构,它的执行依赖于一个布尔表达式。只要这个表达式为`...
PHP for和foreach循环 PHP do...while循环 PHP break/continue/exit PHP 数组 PHP 数字索引数组 PHP 非数字索引数组 PHP 多维数组 PHP 数组排序 PHP 多维数组排序 PHP 随机数组排序 PHP 文件内容载入数组 PHP 数组...
在MyBatis中,`<foreach>`标签是一个非常重要的元素,它主要用于动态SQL语句的构建,尤其是在处理集合数据类型如List、Array、Map时。`<foreach>`标签的使用可以极大地提高代码的可读性和可维护性,避免了传统的字符...
在JavaScript中,有三种主要的循环方法:`forEach`、`for-in`和`for-of`,每种都有其特定的用途和特点。 `forEach`方法是ES5引入的一个数组方法,简化了对数组元素的遍历。例如: ```javascript myArray.forEach...