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. 網(wǎng)頁(yè)中img圖片使用css實(shí)現(xiàn)等比例自動(dòng)縮放不變形(代碼已測(cè)試)2. vue組件庫(kù)的在線主題編輯器的實(shí)現(xiàn)思路3. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟4. Python安裝并操作redis實(shí)現(xiàn)流程詳解5. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過程6. 部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)7. ajax post下載flask文件流以及中文文件名問題8. Python常用擴(kuò)展插件使用教程解析9. html清除浮動(dòng)的6種方法示例10. ASP腳本組件實(shí)現(xiàn)服務(wù)器重啟
