• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php的declare命令及用法详解

    定义

    php中的declare结构用来设定一段代码的执行指令

    declare用于执行3个指令:ticks,encoding,strict_types

    作用域

    declare结构用于全局范围,影响到其后的所有代码
    (但如果有declare结构的文件被其他文件包含,则对包含他的父文件不起作用)

    1.ticks

    declare(ticks=1) {
    //代码
    }
    ||
    declare(ticks=1);
    两者相等

    //作用:
    //解释器每执行N条可计时的低级语句就会发生的时间 declare(directive=N) Tick(时钟周期)
    //1.每执行一条语句就执行一次register_tisk_function()注册的函数
    declare(ticks=1);
    $time_start = time();
    echo "hello";
    function check_timeout(){
        global $time_start;
        $timeout=5;
        if (time() - $time_start > $timeout){
            exit("超时{$timeout}秒\n");
        }
    }
    register_tick_function('check_timeout');
    $i=0;
    while (1){
    //    echo $i++;
        $num =1;
    }
    //2.每执行一次低级语句会检查一次该进程是否有未处理过的信号
    pcntl_signal(SIGINT,function (){
        exit("Get signal SIGINT and exit\n");
    });
    echo "Ctrl+C or run cmd:kill -SIGINT".posix_getpid()."\n";
    while (1){
    //    echo "hello world";
        $num = 1;
    }

    2.Encoding

    可以使用encoding指令来对每段脚本指定其编码方式

    declare(encoding='cp936');  //必须在文件代码第一行

    3.strict_types

    开启严格模式.默认是弱类型校验.

    declare(strict_types=1);

    以下内容转自:https://www.cnblogs.com/kudosharry/p/3795356.html

    php里的declare用法

    function tick_handler ()		
    {			
    echo  "tick_handler() calledbr>" ;		
    }		 
    function  tick_handler1 ()		
    {			
    echo  "tick_handler1() calledbr>" ;		
    }
     register_tick_function ( 'tick_handler' );		
     register_tick_function ( 'tick_handler1' );
    declare( ticks = 1 )
    {			 
    $a  =  1 ;
    			
    if ( $a  >  0 ) 
    {				
     $a  +=  2 ;				
    print( $a );			
    }		
    }		
    exit;

    这里首先定义了两个函数,然后注册到系统,随后通过declare定义一个ticks,步长为1,作用是在declare作用域中的代码每执行ticks次步长,就执行一次注册的方法,方法顺与注册的顺序一致。

    所以上面的执行结果是:

    tick_handler() called
    tick_handler1() called
    tick_handler() called
    tick_handler1() called
    3tick_handler() called
    tick_handler1() called
    tick_handler() called
    tick_handler1() called
    tick_handler() called
    tick_handler1() called
    tick_handler() called
    tick_handler1() called

    这个方法可以测试执行代码的处理时间。

    以上就是php的declare命令及用法详解的详细内容,更多关于php declare用法的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • PHP7标量类型declare用法实例分析
    • PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
    • php的declare控制符和ticks教程(附示例)
    上一篇:PHP中strval()函数实例用法
    下一篇:PHP如何初始化PDO及原始SQL语句操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php的declare命令及用法详解 php,的,declare,命令,及,用法,