PHP - declare tick

    今天看php手册,结构流程控制语句,翻到个没见过的关键字declare(申明的意思)。于是稍稍看了下。

   大概意思是:定义一段代码。关于他合适执行,怎么执行完全依照他的参数。

   反正不知道什么意思。先来一段实例代码

 1 <?php
 2 // Print "tick" with a timestamp and optional suffix.
 3 function do_tick($str = '') {
 4     list($sec, $usec) = explode(' ', microtime());
 5     printf("[%.4f] Tick.%s\n", $sec + $usec, $str);
 6 }
 7 register_tick_function('do_tick');
 8                
 9 // Tick once before declaring so we have a point of reference.
10 do_tick('--start--');
11                
12 // Method 2
13 declare(ticks=1) {
14     while(1) sleep(1);
15 }
16                
17 /* Output:
18 [1234544471.6486] Tick.--start--
19 [1234544472.6489] Tick.
20 [1234544473.6490] Tick.
21 [1234544474.6492] Tick.
22 [1234544475.6493] Tick.
23 */
24 ?>

    每每执行declare statement里面的 tick步就会调用已经注册的function一次。用来跟踪变量,跟踪时间,跟踪内存使用,监测连接断开等等,应该都是非常合适的。

    备注:ticks代表步长;

    另外对于declare来说还有另外一个参数是 encoding 暂时没懂怎么用,评论上都没提,好像是一个新的属性之类的

    另外php 支持goto语句,和c语言一样的写法

posted @ 2013-09-17 21:12  马宇申  阅读(383)  评论(0编辑  收藏  举报