declare 結構用來設定一段代碼的執行指令,它的語法結構如下:
復制代碼 代碼如下:
declare (directive)
statement
不懂?通俗解釋如下:declare是PHP的流程控制結構,directive目前支持兩個指令【ticks和encoding】,ticks的使用需配合register_tick_function函數(當然還有unregister_tick_function函數)使用。ticks參數表示運行多少語句調用一次register_tick_function的函數。
register_tick_function函數定義了每個tick事件發生時的處理函數。那麼什麼是tick事件呢?
ick是一個事件。
tick事件在PHP每執行N條低級語句就發生一次,N由declare語句指定。
可以用register_tick_function()來指定tick事件發生時應該執行的操作。
問題又來了,什麼是低級語句呢?它包括:
簡單語句:空語句(就一個;號),return, break, continue, throw, goto, global, static, unset, echo, 內置的HTML文本,分號結束的表達式等均算一個語句。
復合語句:完整的if/elseif, while, do...while, for, foreach, switch, try...catch等算一個語句。
語句塊:{} 括出來的語句塊。
最後特別的:declare塊本身也算一個語句(按道理declare塊也算是復合語句,但此處特意將其獨立出來)。
看一個簡單的例子:
復制代碼 代碼如下:
function do_tick()
{
echo "<font color=red>do_tick</font>";
}
register_tick_function('do_tick');
declare(ticks = 1)
{
for($i = 1; $i < 5; $i++)
{
echo "<font color=blue>{$i}</font><br>";
}
}