php的declare命令及用法詳解
php中的declare結(jié)構(gòu)用來設(shè)定一段代碼的執(zhí)行指令
declare用于執(zhí)行3個(gè)指令:ticks,encoding,strict_types
作用域declare結(jié)構(gòu)用于全局范圍,影響到其后的所有代碼(但如果有declare結(jié)構(gòu)的文件被其他文件包含,則對(duì)包含他的父文件不起作用)
1.ticks
declare(ticks=1) {//代碼}||declare(ticks=1);兩者相等
//作用://解釋器每執(zhí)行N條可計(jì)時(shí)的低級(jí)語句就會(huì)發(fā)生的時(shí)間 declare(directive=N) Tick(時(shí)鐘周期)//1.每執(zhí)行一條語句就執(zhí)行一次register_tisk_function()注冊(cè)的函數(shù)declare(ticks=1);$time_start = time();echo 'hello';function check_timeout(){ global $time_start; $timeout=5; if (time() - $time_start > $timeout){exit('超時(shí){$timeout}秒n'); }}register_tick_function(’check_timeout’);$i=0;while (1){// echo $i++; $num =1;}//2.每執(zhí)行一次低級(jí)語句會(huì)檢查一次該進(jìn)程是否有未處理過的信號(hào)pcntl_signal(SIGINT,function (){ exit('Get signal SIGINT and exitn');});echo 'Ctrl+C or run cmd:kill -SIGINT'.posix_getpid().'n';while (1){// echo 'hello world'; $num = 1;}
2.Encoding
可以使用encoding指令來對(duì)每段腳本指定其編碼方式
declare(encoding=’cp936’); //必須在文件代碼第一行
3.strict_types
開啟嚴(yán)格模式.默認(rèn)是弱類型校驗(yàn).
declare(strict_types=1);
以下內(nèi)容轉(zhuǎn)自:https://www.cnblogs.com/kudosharry/p/3795356.html
php里的declare用法
function tick_handler (){echo 'tick_handler() called<br>' ;} function tick_handler1 (){echo 'tick_handler1() called<br>' ;} register_tick_function ( ’tick_handler’ ); register_tick_function ( ’tick_handler1’ );declare( ticks = 1 ){ $a = 1 ;if ( $a > 0 ) { $a += 2 ;print( $a );}}exit;
這里首先定義了兩個(gè)函數(shù),然后注冊(cè)到系統(tǒng),隨后通過declare定義一個(gè)ticks,步長(zhǎng)為1,作用是在declare作用域中的代碼每執(zhí)行ticks次步長(zhǎng),就執(zhí)行一次注冊(cè)的方法,方法順與注冊(cè)的順序一致。
所以上面的執(zhí)行結(jié)果是:
tick_handler() calledtick_handler1() calledtick_handler() calledtick_handler1() called3tick_handler() calledtick_handler1() calledtick_handler() calledtick_handler1() calledtick_handler() calledtick_handler1() calledtick_handler() calledtick_handler1() called
這個(gè)方法可以測(cè)試執(zhí)行代碼的處理時(shí)間。
以上就是php的declare命令及用法詳解的詳細(xì)內(nèi)容,更多關(guān)于php declare用法的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法2. UDDI FAQs3. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))4. css進(jìn)階學(xué)習(xí) 選擇符5. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫(kù)的方法6. asp.net core項(xiàng)目授權(quán)流程詳解7. ASP.NET Core實(shí)現(xiàn)中間件的幾種方式8. jsp網(wǎng)頁實(shí)現(xiàn)貪吃蛇小游戲9. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)10. JSP之表單提交get和post的區(qū)別詳解及實(shí)例
