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 相关文章推荐
解决phpmyadmin中文乱码问题。。。
Jan 18 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
php 获取一个月第一天与最后一天的代码
May 16 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
Jul 18 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
在win7中搭建Linux+PHP 开发环境
Oct 08 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
如何实现php图片等比例缩放
Jul 28 PHP
php微信支付接口开发程序
Aug 02 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 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连接MYSQL数据库实例代码
2016/01/20 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
js中的闭包实例展示
2018/11/01 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
用Python编写web API的教程
2015/04/30 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
python能开发游戏吗
2020/06/11 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
美国五金商店:Ace Hardware
2018/03/27 全球购物
中国文明网签名寄语
2014/01/18 职场文书
英语简历自我评价
2014/01/26 职场文书
教师学习培训邀请函
2014/02/04 职场文书
工厂会计员职责
2014/02/06 职场文书
财政专业求职信范文
2014/02/19 职场文书
爱心捐书活动总结
2014/07/05 职场文书
2015年三万活动总结
2015/03/25 职场文书
法律服务所工作总结
2015/08/10 职场文书
简述Java中throw-throws异常抛出
2021/08/07 Java/Android
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis