PHP中 for 与 foreach 的性能
for 循环: for 循环是一个迭代循环,它重复一组特定的代码,直到达到指定的条件。它被系统地用于执行一组代码指定的次数,这里的次数表示迭代器变量。
句法:
for( initialization; condition; increment/decrement ) {
// Set of Code to be iterated and executed
}
for 循环的每个参数都具有独特的功能,下面将对其进行解释以更好地理解:
- 初始化:用于初始化迭代器变量,并在循环条件开始时执行,不运行条件语句,即循环中的代码集的第一次执行。
- 条件:在每次迭代开始时,执行条件语句,如果条件返回真值,则继续循环并执行代码集中的嵌套语句。如果条件评估为假,则循环的执行在该代码点处中断。
- 增量:它使用要为条件语句评估的新增量值增加循环计数器。它在每次迭代结束时强制执行,没有任何中断。
示例:此示例使用以 $j = 1 开始的 for 循环。循环将一直持续到 $j 小于或等于 5。每次循环运行时,变量 $j 将增加 1。
php
php
";
}
?>
php
"Robert",
"email" => "robert112233@mail.com",
"age" => 18,
"gender" => "male"
);
// Loop through employee array
foreach($employee as $key => $element) {
echo $key . ": " . $element . "
";
}
?>
php
输出:
1 GeeksforGeeks
2 GeeksforGeeks
3 GeeksforGeeks
4 GeeksforGeeks
5 GeeksforGeeks
foreach 循环:foreach 循环的目的是定义用途,它专门遍历数组数据结构的元素。
句法:
foreach( $array as $element ) {
// PHP Code to be executed
}
foreach( $array as $key => $element) {
// PHP Code to be executed
}
下面的例子说明了 foreach 循环的使用。
示例 1:
PHP
";
}
?>
输出:
Jimmy
Jonny
Jacky
示例 2:
PHP
"Robert",
"email" => "robert112233@mail.com",
"age" => 18,
"gender" => "male"
);
// Loop through employee array
foreach($employee as $key => $element) {
echo $key . ": " . $element . "
";
}
?>
输出:
name: Robert
email: robert112233@mail.com
age: 18
gender: male
for 和 foreach 循环中的性能比较:
- for 循环被认为是公开执行迭代,而 foreach 循环隐藏了迭代并明显简化。
- foreach 循环被认为在性能上比通用 for 循环好得多。
- foreach 循环虽然迭代了一个元素数组,但执行被简化并且相对而言在更短的时间内完成循环。
- foreach 循环为索引迭代分配临时内存,这使得整个系统在内存分配方面具有冗余性能。
例子:
PHP
输出
for loop evaluates to: 0.002861
foreach loop evaluates to: 0.002861