PHP声明语句
介绍
PHP中的clarify语句语法类似于其他流控制结构,例如while,for,foreach等。
语法
declare (directive){
statement1;
statement2;
. .
}
块的行为由指令类型定义。三种类型的指令可以在声明语句来提供-蜱,编码和strict_types指令。
刻度指令
勾号是一种特殊事件的名称,该特殊事件发生在脚本中一定数量的语句被执行时。这些语句在PHP内部,与脚本中的语句(不包括条件和参数表达式)大致相同。任何函数都可以通过 register_tick_function与tick事件相关联。已注册的函数将在声明指令中指定的滴答数后执行。
在以下示例中,myfunction()
每次在声明构造中的循环完成5次迭代时都执行一次。
示例
<?phpfunction myfunction(){
echo "Hello World\n";
}
register_tick_function("myfunction");
declare (ticks=5){
for ($i=1; $i<=10; $i++){
echo $i."\n";
}
}
?>
输出结果
从命令行运行上述脚本时,将产生以下结果:
12
3
4
5
Hello World
6
7
8
9
10
Hello World
PHP还具有unregister_tick_function() 来删除函数与tick事件的关联
strict_types指令
PHP是一种弱类型语言,它试图转换数据类型以适合于执行某些操作。如果有一个带有两个整数参数的函数并返回它们的加法,并且调用时任一参数都以float形式给出,则PHP解析器将自动将float转换为整数。如果不需要强制,我们可以在声明构造中指定strict_types = 1
示例
<?php//默认情况下strict_types为0-
function myfunction(int $x, int $y){
return $x+$y;
}
echo "total=" . myfunction(1.99, 2.99);
?>
浮点参数被强制为整数以执行加法运算以得到以下结果-
输出结果
total=3
但是,将delcare构造与strict_types = 1一起使用可防止强制
示例
<?phpdeclare (strict_types=1);
function myfunction(int $x, int $y){
return $x+$y;
}
echo "total=" . myfunction(1.99, 2.99);
?>
输出结果
这将产生以下错误-
Fatal error: Uncaught TypeError: Argument 1 passed to myfunction() must be of the type integer, float given, called in line 7 and defined in C:\xampp\php\testscript.php:3
编码指令
声明结构具有Encoding指令,可以使用该指令指定脚本的编码方案
示例
<?phpdeclare(encoding='ISO-8859-1');
echo "This Script uses ISO-8859-1 encoding scheme";
?>
以上是 PHP声明语句 的全部内容, 来源链接: utcz.com/z/348920.html