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 trim 去除空字符的定义与语法介绍
May 31 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
php去除html标记的原生函数详解
Jan 27 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
php在数组中查找指定值的方法
Mar 17 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
PHP二进制与字符串之间的相互转换教程
Oct 14 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 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/07 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
python缩进区别分析
2014/02/15 Python
python之import机制详解
2014/07/03 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
python利用datetime模块计算时间差
2015/08/04 Python
Numpy之random函数使用学习
2019/01/29 Python
python绘制彩虹图
2019/12/16 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
写一个方法1000的阶乘
2012/11/21 面试题
警察思想汇报
2014/01/04 职场文书
学生思想表现的评语
2014/01/30 职场文书
学雷锋演讲稿
2014/03/04 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android