我对PHP函数declare
感到有点困惑。
究竟什么是单一的?我以为tick等于一行代码?
但如果我使用:
function myfunc() {
print "Tick";
}
register_tick_function("myfunc");
declare(ticks=1) {
echo 'foo!bar';
}
脚本打印:
“勾选”2次??
答案 0 :(得分:23)
每行都有一个勾号;和每个块{} 试试这个:
declare(ticks=1) echo 'foo!bar';
没有阻止,没有额外的勾选。
declare(ticks=1) {{ echo 'foo!bar'; }}
更多无关的块=更多的滴答声。
PS:顺便说一句,刻度线是非常奇特的功能,它们只适用于少数非常罕见的情况。它们不等同于线程或任何东西。如果,对你来说,滴答声是问题的解决方案,那么你应该在另一个问题上发布你的问题,因为它可能不是正确的解决方案。
答案 1 :(得分:16)
你是在正确的轨道上找到了什么。
http://www.tuxradar.com/practicalphp/4/21/0
简单地说,勾选是一个特殊事件 这在PHP内部发生 它执行了一定数量的时间 的陈述。这些陈述是 PHP内部和松散对应 到脚本中的语句。您 可以控制多少语句 需要使用。来设置勾号 declare()函数,你可以 注册函数在a时执行 通过使用蜱发生 register_tick_function()函数。如 已经提到过,语法为 声明非常不寻常,所以要做好准备 感到震惊!