1
代码声明结构工作:如何在PHP
declare(ticks=1);
function tick_handler(){
echo "tick_handler() called\n";
}
register_tick_function('tick_handler');
$a = 1;
if($a < 2){
// $a += 2;
}
当我运行此代码,将打印tick_handler() called
4 times.I认为$a = 1
将打印tick_handler() called
一个时代,但为什么它打印四倍。 如果我改变的第一行代码:
declare(ticks = 2)
将打印像以前一样的结果。 在PHP文件,它说:
A tick is an event that occurs for every N low-level tickable statements executed by the parser within the declare block
所以我想如果ticks = 2
,它将打印两次,但事实并非如此。 现在,我不知道它是如何工作的。