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. Python編寫nmap掃描工具2. PHP設(shè)計(jì)模式(四)原型模式Prototype實(shí)例詳解【創(chuàng)建型】3. python 爬取嗶哩嗶哩up主信息和投稿視頻4. PHP擴(kuò)展之APC——Alternative PHP Cache(可選PHP緩存)5. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值6. 如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密7. 10個(gè)提供免費(fèi)PHP腳本下載的網(wǎng)站8. Java向Runnable線程傳遞參數(shù)方法實(shí)例解析9. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送10. php5.6不能擴(kuò)展redis.so的解決方法
