今天看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 ", $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语言一样的写法