最近在代码开发中总是被要求需要在脚本第一个语句前加上 declare(strict_types=1);于是就搜集一下它的作用。
众所周知,php是弱类型校验模式,而declare指令可以通过指定 strict_types的值(1位严格模式,0为弱类型校验模式)来控制函数的调用和返回。
影响范围:
strict_types指令只会影响到指定使用的文件,不会影响被它include的文件。
运作方式:
在opcode中设置一个标志位,让函数调用和返回类型检查是否符合类型约束。
示例代码:
图一会报语法错误,而图二不会,这就是strict_types的魅力。
参考:https://blog.csdn.net/u010324331/article/details/88316692、https://blog.csdn.net/qise4868/article/details/79596119