php的declare控制符和ticks教程(附示例)


Posted in PHP onMarch 21, 2014

declare 结构用来设定一段代码的执行指令,它的语法结构如下:

declare (directive)
statement

不懂?通俗解释如下:declare是PHP的流程控制结构,directive目前支持两个指令【ticks和encoding】,ticks的使用需配合register_tick_function函数(当然还有unregister_tick_function函数)使用。ticks参数表示运行多少语句调用一次register_tick_function的函数。
register_tick_function函数定义了每个tick事件发生时的处理函数。那么什么是tick事件呢?
ick是一个事件。
tick事件在PHP每执行N条低级语句就发生一次,N由declare语句指定。
可以用register_tick_function()来指定tick事件发生时应该执行的操作。

问题又来了,什么是低级语句呢?它包括:
简单语句:空语句(就一个;号),return, break, continue, throw, goto, global, static, unset, echo,  内置的HTML文本,分号结束的表达式等均算一个语句。
复合语句:完整的if/elseif, while, do...while, for, foreach, switch, try...catch等算一个语句。
语句块:{} 括出来的语句块。
最后特别的:declare块本身也算一个语句(按道理declare块也算是复合语句,但此处特意将其独立出来)。

看一个简单的例子:

function do_tick()
{
echo "<font color=red>do_tick</font>";
}
register_tick_function('do_tick');
declare(ticks = 1)
{
        for($i = 1; $i < 5; $i++)
        {
                echo "<font color=blue>{$i}</font><br>";
        }
}
PHP 相关文章推荐
PHP分页显示制作详细讲解
Dec 05 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
Jun 23 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
php实现paypal 授权登录
May 28 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
php像数组一样存取和修改字符串字符
Mar 21 #PHP
easyui的tabs update正确用法分享
Mar 21 #PHP
php设置session值和cookies的学习示例
Mar 21 #PHP
一个显示效果非常不错的PHP错误、异常处理类
Mar 21 #PHP
一漂亮的PHP图片验证码实例
Mar 21 #PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 #PHP
php获取表单中多个同名input元素的值
Mar 20 #PHP
You might like
php 字符转义 注意事项
2009/05/27 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
javascript String 的扩展方法集合
2008/06/01 Javascript
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
简单了解python变量的作用域
2019/07/30 Python
python绘制雪景图
2019/12/16 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
python实现粒子群算法
2020/10/15 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
Hotels.com南非:酒店预订
2017/11/02 全球购物
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
消防应急演练方案
2014/02/12 职场文书
计划生育宣传标语
2014/06/21 职场文书
超市开店计划书
2014/09/15 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
物业公司管理制度
2015/08/05 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
javascript之Object.assign()的痛点分析
2022/03/03 Javascript