46. PHP for
来源:互联网 发布:机房迁移网络方案 编辑:程序博客网 时间:2024/06/06 12:37
for
(PHP 4, PHP 5)
for 循环是 PHP 中最复杂的循环结构。它的行为和 C 语言的相似。 for 循环的语法是:
for (expr1; expr2; expr3) statement
第一个表达式(expr1)在循环开始前无条件求值(并执行)一次。
expr2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。
expr3 在每次循环之后被求值(并执行)。
每个表达式都可以为空或包括逗号分隔的多个表达式。表达式 expr2 中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。expr2 为空意味着将无限循环下去(和 C 一样,PHP 暗中认为其值为 TRUE)。这可能不像想象中那样没有用,因为经常会希望用有条件的 break 语句来结束循环而不是用 for 的表达式真值判断。
考虑以下的例子,它们都显示数字 1 到 10:
<?php/* example 1 */for ($i = 1; $i <= 10; $i++) { echo $i;}/* example 2 */for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i;}/* example 3 */$i = 1;for (;;) { if ($i > 10) { break; } echo $i; $i++;}/* example 4 */for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);?>
当然,第一个例子看上去最简洁(或者有人认为是第四个),但用户可能会发现在 for 循环中用空的表达式在很多场合下会很方便。
PHP 也支持用冒号的 for 循环的替代语法。
for (expr1; expr2; expr3): statement; ...endfor;
有时经常需要像下面这样例子一样对数组进行遍历:
<?php/* * 此数组将在遍历的过程中改变其中某些单元的值 */$people = Array( Array('name' => 'Kalle', 'salt' => 856412), Array('name' => 'Pierre', 'salt' => 215863) );for($i = 0; $i < sizeof($people); ++$i){ $people[$i]['salt'] = rand(000000, 999999);}?>
以上代码可能执行很慢,因为每次循环时都要计算一遍数组的长度。由于数组的长度始终不变,可以用一个中间变量来储存数组长度以优化而不是不停调用 count():
<?php$people = Array( Array('name' => 'Kalle', 'salt' => 856412), Array('name' => 'Pierre', 'salt' => 215863) );for($i = 0, $size = sizeof($people); $i < $size; ++$i){ $people[$i]['salt'] = rand(000000, 999999);}?>
0 0
- 46. PHP for
- php的for语句
- delphi for php 体验
- Delphi for PHP 评测
- CodeGear Delphi for php
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- Delphi for PHP 评测
- 汇编学习之路之CS 和 IP
- 初步感受一下泛型算法---以accumulate作用于内置数组、vector和list为例
- 每日一得--*.PFX(*.p12)&个人信息交换文件
- git core.autocrlf配置 解决Windows和Linux(Mac)换行问题
- HDU 2222 Keywords Search【AC自动机|字典树】
- 46. PHP for
- 随笔
- 学习笔记
- CPU acceleration status: HAX kernel module is not installed!
- mac 安装Django
- HttpContext.Current.Cache 和 HttpRuntime.Cache
- 关于STM32 调试工具JLINK
- 4.6实践,路由器wds设置
- github入门到精通(命令和图形教程)