php的declare控制符和ticks教程

字號(hào):


    declare是PHP的流程控制結(jié)構(gòu),directive目前支持兩個(gè)指令,ticks的使用需配合register_tick_function函數(shù)使用,看下面的小示例吧
    declare 結(jié)構(gòu)用來(lái)設(shè)定一段代碼的執(zhí)行指令,它的語(yǔ)法結(jié)構(gòu)如下:
    代碼如下:
    declare (directive)
    statement
    不懂?通俗解釋如下:declare是PHP的流程控制結(jié)構(gòu),directive目前支持兩個(gè)指令【ticks和encoding】,ticks的使用需配合register_tick_function函數(shù)(當(dāng)然還有unregister_tick_function函數(shù))使用。ticks參數(shù)表示運(yùn)行多少語(yǔ)句調(diào)用一次register_tick_function的函數(shù)。
    register_tick_function函數(shù)定義了每個(gè)tick事件發(fā)生時(shí)的處理函數(shù)。那么什么是tick事件呢?
    ick是一個(gè)事件。
    tick事件在PHP每執(zhí)行N條低級(jí)語(yǔ)句就發(fā)生一次,N由declare語(yǔ)句指定。
    可以用register_tick_function()來(lái)指定tick事件發(fā)生時(shí)應(yīng)該執(zhí)行的操作。
    問(wèn)題又來(lái)了,什么是低級(jí)語(yǔ)句呢?它包括:
    簡(jiǎn)單語(yǔ)句:空語(yǔ)句(就一個(gè);號(hào)),return, break, continue, throw, goto, global, static, unset, echo, 內(nèi)置的HTML文本,分號(hào)結(jié)束的表達(dá)式等均算一個(gè)語(yǔ)句。
    復(fù)合語(yǔ)句:完整的if/elseif, while, do...while, for, foreach, switch, try...catch等算一個(gè)語(yǔ)句。
    語(yǔ)句塊:{} 括出來(lái)的語(yǔ)句塊。
    最后特別的:declare塊本身也算一個(gè)語(yǔ)句(按道理declare塊也算是復(fù)合語(yǔ)句,但此處特意將其獨(dú)立出來(lái))。
    看一個(gè)簡(jiǎn)單的例子:
    代碼如下:
    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>";
    }
    }