php帮助手册,PHP帮助手册

PHP帮助手册拾遗:流程控制

1、PHP支持用冒号的if语句

if (expr1) :

statement1

elseif(expr2):

statement2

endif;

endif后面有分号

2、PHP 也支持用冒号的 for 循环的替代语法。

for (expr1; expr2; expr3):

statement;

...

endfor;

很python的作法,只是还是需要加上endfor作为结束标记

for ($i = 0; $i < 10; $i++):

echo $i, '
';

endfor;

3、foreach PHP 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。

如下所示代码:

$arr = array(1, 2, 3, 4);

foreach ($arr as &$value) {

$value = $value * 2;

}

//unset($value); // 释放$value的引用

var_dump($arr);

$value++;

var_dump($arr);

只是在写修改完后,需要释放$value的引用,否则在下次修改此变量时,会改变数组元素的内容,慎重!(某犯过此错误)

4、break 可以接受一个可选的数字参数来决定跳出几重循环。

for ($i = 1; $i < 10; $i++) :

for ($j = 1; $j < 10; $j++) :

echo $i, ' ', $j, '
';

if ($i + $j > 15) {

break 2; // 直接跳转所在的二重循环

}

endfor;

endfor;

5、注意在 PHP 中 switch 语句被认为是可以使用 continue 的一种循环结构。

6、continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。

7、在 switch 语句中条件只求值一次并用来和每个 case 语句比较。在 elseif 语句中条件会再次求值。

case 表达式可以是任何求值为简单类型的表达式,即整型或浮点数以及字符串。不能用数组或对象,除非它们被解除引用成为简单类型。

8、declare 结构用来设定一段代码的执行指令。declare 的语法和其它流程控制结构相似

directive 部分允许设定 declare 代码段的行为。目前只认识一个指令:ticks

Tick 是一个在 declare 代码段中解释器每执行 N 条低级语句就会发生的事件。N 的值是在 declare 中的 directive 部分用 ticks=N 来指定的。

在每个 tick 中出现的事件是由 register_tick_function() 来指定的。

Ticks 很适合用来做调试,以及实现简单的多任务,后台 I/O 和很多其它任务。

手册上的示例:

function profile($dump = FALSE)

{

static $profile;

// Return the times stored in profile, then erase it

if ($dump) {

$temp = $profile;

unset($profile);

return ($temp);

}

$profile[] = microtime();

}

// Set up a tick handler

register_tick_function("profile");

// Initialize the function before the declare block

profile();

// Run a block of code, throw a tick every 2nd statement

declare(ticks=2) {

for ($x = 1; $x < 50; ++$x) {

echo similar_text(md5($x), md5($x*$x)), "
;";

}

}

// Display the data stored in the profiler

print_r(profile (TRUE));

上面的这功能真没听说过,作为一个后学末进的程序员,看手册是必须的。

10、return

return() 是语言结构而不是函数,仅在参数包含表达式时才需要用括号将其括起来。当返回一个变量时通常不用括号,也建议不要用,这样可以降低 PHP 的负担。

注: 当用引用返回值时永远不要使用括号,这样行不通。只能通过引用返回变量,而不是语句的结果。如果使用 return ($a); 时其实不是返回一个变量,而是表达式 ($a) 的值(当然,此时该值也正是 $a 的值)。

11、include() 是一个特殊的语言结构,其参数不需要括号。在比较其返回值时要注意。

例如,test.txt中包含字符串 ‘abc’,则判断包含test.txt中是否返回’abc’语句不能以函数的调用方式。

如下所示代码:

if (include("test.txt") == 'abc') {

echo 'yes';

}

/* 以上是错误的代码,程序会执行错误,显示warning */

if ((include "test.txt") == 'abc') {

echo 'yes';

}

12、从PHP3.0开始添加了goto语句,但是此语句不能跳转进入loop或switch 语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
php官方中文帮助手册,2013最新版 ■版权信息 ■PHP 手册■序言 ■入门指引■简介 ■简明教程 ■安装与配置■安装前需要考虑的事项 ■Unix 系统下的安装 ■Mac OS X 系统下的安装 ■Windows 系统下的安装 ■Installation on Cloud Computing platforms ■FastCGI 进程管理器 (FPM) ■PECL 扩展库安装 ■还有问题? ■运行时配置 ■语言参考■基本语法 ■类型 ■变量 ■常量 ■表达式 ■运算符 ■控制结构 ■函数 ■类与对象 ■命名空间 ■异常处理 ■引用的解释 ■预定义变量 ■预定义异常 ■预定义接口 ■Context options and parameters ■Supported Protocols and Wrappers ■安全■简介 ■总则 ■以 CGI 模式安装时 ■以 Apache 模块安装时 ■文件系统安全 ■数据库安全 ■错误报告 ■使用 Register Globals ■用户提交的数据 ■魔术引号 ■隐藏 PHP ■保持更新 ■特点■用 PHP 进行 HTTP 认证 ■Cookie ■会话 ■处理 XForms ■文件上传处理 ■使用远程文件 ■连接处理 ■数据库永久连接 ■安全模式 ■PHP 的命令行模式 ■垃圾回收机制 ■函数参考■影响 PHP 行为的扩展 ■音频格式操作 ■身份认证服务 ■日历和事件相关扩展 ■命令行特有的扩展 ■压缩与归档扩展 ■信用卡处理 ■加密扩展 ■数据库扩展 ■文件系统相关扩展 ■国际化与字符编码支持 ■图像生成和处理 ■邮件相关扩展 ■数学扩展 ■非文本内容的MIME输出 ■进程控制扩展 ■其它基本扩展 ■其它服务 ■搜索引擎扩展 ■面向服务器的扩展 ■Session 扩展 ■文本处理 ■与变量和类型有关的扩展 ■Web Services ■Windows 平台下的扩展 ■XML 操作 ■PHP 核心:Zend 引擎的黑客指南■序言 ■"counter" 扩展 - 一个连续的实例 ■PHP 5 构建系统 ■扩展的结构 ■内存管理 ■变量的使用 ■函数的编写 ■类和对象的使用 ■资源的使用 ■INI 设置的使用 ■流的使用 ■PDO 驱动 ■扩展相关 FAQ ■Zend Engine 2 API 参考 ■Zend Engine 2 操作码列表 ■Zend Engine 1 ■FAQ — FAQ:常见问题■一般信息 ■邮件列表 ■获取 PHP ■数据库问题 ■安装 — 安装常见问题 ■编译问题 ■使用 PHP ■Password Hashing — Safe Password Hashing ■PHP 和 HTML ■PHP 和 COM ■PHP 和其它语言 ■从 PHP 4 移植到 PHP 5 ■杂类问题 ■附录■PHP 及其相关工程的历史 ■Migrating from PHP 5.3.x to PHP 5.4.x ■从 PHP 5.2.x 移植到 PHP 5.3.x ■Migrating from PHP 5.1.x to PHP 5.2.x ■Migrating from PHP 5.0.x to PHP 5.1.x ■从 PHP 4 移植到 PHP 5 ■类与对象(PHP 4) ■PHP 的调试 ■配置选项 ■php.ini 配置 ■扩展库分类 ■函数别名列表 ■保留字列表 ■资源类型列表 ■可用过滤器列表 ■所支持的套接字传输器(Socket Transports)列表 ■PHP 类型比较表 ■解析器代号列表 ■Userland Naming Guide ■关于本手册 ■Creative Commons Attribution 3.0 ■索引 ■CHM 版本■关于此版本 ■Using PHP Manual CHM Edition ■The Full Text Search ■Specialities of this Edition ■Integrating the PHP Manual ■Skin development ■CHM Edition Credits
© 1997-2011PHP 文档组  版权信息  PHP 手册 序言  入门指引 简介  简明教程  安装与配置 安装前需要考虑的事项  Unix 系统下的安装  Mac OS X 系统下的安装  Windows 系统下的安装  Installation on Cloud Computing platforms  FastCGI 进程管理器 (FPM)  PECL 扩展库安装  还有问题?  运行时配置  语言参考 基本语法  类型  变量  常量  表达式  运算符  控制结构  函数  类与对象  命名空间  异常处理  引用的解释  预定义变量  预定义异常  预定义接口  Context options and parameters  Supported Protocols and Wrappers  安全 简介  总则  以 CGI 模式安装时  以 Apache 模块安装时  文件系统安全  数据库安全  错误报告  使用 Register Globals  用户提交的数据  魔术引号  隐藏 PHP  保持更新  特点 用 PHP 进行 HTTP 认证  Cookie  会话  处理 XForms  文件上传处理  使用远程文件  连接处理  数据库永久连接  安全模式  PHP 的命令行模式  垃圾回收机制  函数参考 影响 PHP 行为的扩展  音频格式操作  身份认证服务  日历和事件相关扩展  命令行特有的扩展  压缩与归档扩展  信用卡处理  加密扩展  数据库扩展  文件系统相关扩展  国际化与字符编码支持  图像生成和处理  邮件相关扩展  数学扩展  非文本内容的MIME输出  进程控制扩展  其它基本扩展  其它服务  搜索引擎扩展  面向服务器的扩展  Session 扩展  文本处理  与变量和类型有关的扩展  Web Services  Windows 平台下的扩展  XML 操作  PHP 核心:Zend 引擎的骇客指南 序言  "counter" 扩展 - 一个连续的实例  PHP 5 构建系统  扩展的结构  内存管理  变量的使用  函数的编写  类和对象的使用  资源的使用  INI 设置的使用  流的使用  PDO 驱动  扩展相关 FAQ  Zend Engine 2 API 参考  Zend Engine 2 操作码列表  Zend Engine 1  FAQ — FAQ:常见问题 一般信息  邮件列表  获取 PHP  数据库问题  安装 — 安装常见问题  编译问题  使用 PHP  Password Hashing — Safe Password Hashing  PHP 和 HTML  PHP 和 COM  PHP 和其它语言  从 PHP 4 移植到 PHP 5  杂类问题  附录 PHP 及其相关工程的历史  Migrating from PHP 5.3.x to PHP 5.4.x  从 PHP 5.2.x 移植到 PHP 5.3.x  Migrating from PHP 5.1.x to PHP 5.2.x  Migrating from PHP 5.0.x to PHP 5.1.x  从 PHP 4 移植到 PHP 5  类与对象(PHP 4)  PHP 的调试  配置选项  php.ini 配置选项  扩展库分类  函数别名列表  保留字列表  资源类型列表  可用过滤器列表  所支持的套接字传输器(Socket Transports)列表  PHP 类型比较表  解析器代号列表  Userland Naming Guide  关于本手册  Creative Commons Attribution 3.0  函数索引  CHM 版本 关于此版本  Using PHP Manual CHM Edition  The Full Text Search  Specialities of this Edition  Integrating the PHP Manual  Skin development  CHM Edition Credits
php开发人员的文档,并且是中文的。 PHP 手册 Mehdi Achour Friedhelm Betz Antony Dovgal Nuno Lopes Philip Olson Georg Richter Damien Seguy Jakub Vrana 其他贡献者 编辑 Gabor Hojtsy 王远之 肖理达 肖盛文 黄啸宇 宋琪 陈伯乐 刘铭 崔岩 2005-11-18 版权 © 1997-2005 PHP 文档组 -------------------------------------------------------------------------------- 前言 作者和贡献者 I. 入门指引 1. 简介 2. 简明教程 II. 安装与配置 3. 安装前需要考虑的事项 4. Unix 系统下的安装 5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类与对象(PHP 4) 19. 类与对象(PHP 5) 20. 异常处理 21. 引用的解释 IV. 安全 22. 简介 23. 总则 24. 以 CGI 模式安装时 25. 以 Apache 模块安装时 26. 文件系统安全 27. 数据库安全 28. 错误报告 29. 使用 Register Globals 30. 用户提交的数据 31. 魔术引号 32. 隐藏 PHP 33. 保持更新 V. 特点 34. 用 PHP 进行 HTTP 认证 35. Cookie 36. 会话 37. 处理 XForms 38. 文件上传处理 39. 使用远程文件 40. 连接处理 41. 数据库永久连接 42. 安全模式 43. PHP 的命令行模式 VI. 函数参考 I. .NET 函数 II. Apache 特有函数 III. Alternative PHP Cache IV. Advanced PHP debugger V. Array 数组函数 VI. Aspell 函数(已废弃) VII. BC math 高精度数学函数 VIII. PHP bytecode Compiler IX. Bzip2 压缩函数 X. Calendar 日历函数 XI. CCVS API Functions [deprecated] XII. Classes/Objects 类/对象函数 XIII. Classkit Functions XIV. ClibPDF Functions XV. COM 和 .Net(Windows)函数 XVI. Crack Functions XVII. Character Type Functions XVIII. CURL, Client URL Library Functions XIX. Cybercash Payment Functions XX. Credit Mutuel CyberMUT functions XXI. Cyrus IMAP administration Functions XXII. Date/Time 日期/时间函数 XXIII. DB++ Functions XXIV. Database (dbm-style) Abstraction Layer Functions XXV. dBase Functions XXVI. DBM Functions [deprecated] XXVII. dbx Functions XXVIII. Direct IO Functions XXIX. Directory 目录函数 XXX. DOM Functions XXXI. DOM XML Functions XXXII. Error Handling and Logging Functions XXXIII. Exif Functions XXXIV. Expect Functions XXXV. File Alteration Monitor Functions XXXVI. Forms Data Format Functions XXXVII. filePro Functions XXXVIII. Filesystem 文件系统函数 XXXIX. Firebird/InterBase Functions XL. Firebird/Interbase Functions (PDO_FIREBIRD) XLI. FriBiDi Functions
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值