PHP declare 关键词
定义和用法
declare
关键字为代码块设置执行指令。如果 declare
语句后没有跟随代码块,则该指令将应用于文件中的其余代码。
可以声明三个指令:ticks
、encoding
和 strict_types
。
ticks
指令将在每次执行指定数量的指令后发送一个 tick 事件。可以注册一个 tick 函数,该函数将在每次触发 tick 事件时运行。
encoding
指令用于指示文件使用的字符编码。它不能用于代码块,必须应用于整个文件。
当设置 strict_types
指令时,将类型错误的值传递给带有类型提示的函数参数将引发致命错误,而不是将其强制转换为正确的类型。
相关页面
参考手册:enddeclare 关键词
实例
例子 1
在每条指令后运行一个函数:
<?php
$count = 0;
function example() {
global $count;
$count++;
echo "$count instructions executed<br>";
}
register_tick_function('example');
declare(ticks=1) {
$cars = ["Ford", "Volvo", "BMW"];
foreach($cars as $car) {
echo "$car <br>";
}
}
?>
例子 2
在每条指令后运行一个函数:
<?php
declare(strict_types=1);
function sum(int $a, int $b) {
return $a + $b;
}
// 引发致命错误,因为 "5" 是字符串而不是数字
sum("5", 1);
?>