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
,它將打印兩次,但事實並非如此。 現在,我不知道它是如何工作的。