PHP使用Declare?什么是勾?

opH*_*AME 29 php declare

我对PHP函数有点困惑declare.

究竟什么是单​​一的?我以为tick等于一行代码?

但如果我使用:

function myfunc() {
        print "Tick";   
}

register_tick_function("myfunc");

declare(ticks=1) {
   echo 'foo!bar';
}
Run Code Online (Sandbox Code Playgroud)

脚本打印:

"勾"2次?

Jos*_*vis 23

你得到每一行的勾号; 和每个块{}尝试:

declare(ticks=1) echo 'foo!bar';
Run Code Online (Sandbox Code Playgroud)

没有阻止,没有额外的勾选.

declare(ticks=1) {{ echo 'foo!bar'; }}
Run Code Online (Sandbox Code Playgroud)

更多无关的块=更多的滴答声.

PS:顺便说一下,蜱是非常奇特的特征,它们仅在极少数情况下有用.它们不等同于线程或任何东西.如果,对你而言,滴答声是问题的解决方案,那么你应该在另一个问题上发布你的问题,因为它可能不是正确的解决方案.

  • 什么*可以*滴答有用? (13认同)

Jay*_*rox 16

你是在正确的轨道上蜱是什么.

http://www.tuxradar.com/practicalphp/4/21/0

简而言之,tick是每次执行一定数量的语句时在PHP内部发生的特殊事件.这些语句是PHP内部的,与脚本中的语句松散对应.您可以使用declare()函数控制引发勾选所需的语句数,并且可以使用register_tick_function()函数注册要在勾选时执行的函数.如前所述,声明的语法非常不寻常,所以要准备好震撼!

  • 能不能请参考*"请注意,PHP7中的刻度将被完全删除"*??? 据我所知,这不是真的. (2认同)
  • PHP 7已经出局,而蜱仍然存在 (2认同)