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 相关文章推荐
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
laravel-admin 中列表筛选方法
Oct 03 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文档更新介绍
2011/07/22 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php实现微信模板消息推送
2018/03/30 PHP
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
JavaScript多线程详解
2015/08/12 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
python使用mailbox打印电子邮件的方法
2015/04/30 Python
python下MySQLdb用法实例分析
2015/06/08 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python简易远程控制单线程版
2018/06/20 Python
python openpyxl使用方法详解
2019/07/18 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
21岁生日感言
2014/02/27 职场文书
可可西里观后感
2015/06/08 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android