PHP7标量类型declare用法实例分析
PHP 7中的标量类型声明:深入理解与实例分析
PHP 7为了提高执行效率,引入了标量类型的声明特性,这包括布尔、浮点、整数和字符串类型。这一特性允许开发者在函数和方法中更明确地指定参数和返回值的类型,从而提高了代码的可读性和可维护性。
一、标量类型声明的特性
1. 强制模式(默认模式):在这种模式下,如果传递给形参的类型不符合声明类型,PHP将尝试进行类型转换。
2. 严格模式:通过声明`declare(strict_types=1);`来启用。在严格模式下,如果实参的类型与形参的声明类型不符,将会引发错误。
二、形参的标量类型声明
以下是在强制模式下的例子:
```php
// PHP 7之前的声明方式
function type_weak(...$int){
return array_sum($int);
}
// 强制模式,PHP 7的声明方式
function sum(int ...$ints) {
print_r($ints);
echo "
";
return array_sum($ints);
}
echo type_weak(2, '3', 0.11); // 输出结果会受到类型转换的影响
echo "
";
echo sum(2, '3', 0.11); // 在强制模式下,字符串和浮点数将尝试转换为整数
```
三、严格模式下的形参类型声明
在严格模式下,如果实参的类型与形参的声明类型不符,将会引发错误。例如:
```php
declare(strict_types=1); // 启用严格模式
// 其他代码与上述示例相同
echo sum(2, '3', 0.11); // 由于存在字符串和浮点数,这将引发错误
```
四、返回值的标量类型声明
函数和方法也可以对返回值进行标量类型声明。例如:
```php
declare(strict_types=0); // 恢复到默认模式或强制模式
function type_weak(...$int) : int { // 指定返回类型为整数
return array_sum($int);
}
function returnInt(int $i) : int { // 指定参数和返回类型都是整数
return $i + 0.6; // 在严格模式下,这里会报错,因为返回值的类型不符合声明的整数类型
}
```更多关于PHP的相关知识,如PHP框架、PHP开发技巧等,可以查阅相关专题。希望本文能对PHP程序设计师有所帮助。
编程语言
- PHP7标量类型declare用法实例分析
- Vue实例中生命周期created和mounted的区别详解
- JS实现键值对遍历json数组功能示例
- jQuery实现可以编辑的表格实例详解【附demo源码下
- jQuery使用bind函数实现绑定多个事件的方法
- PHP实现在windows下配置sendmail并通过mail()函数发送
- 如何显示最后十名来访者?
- JavaScript选择排序算法原理与实现方法示例
- ajax跨域请求js拒绝访问的解决方法
- vue监听对象及对象属性问题
- sql to sqlalchemy 转换的小例子
- react-native中ListView组件点击跳转的方法示例
- SQLSERVER简单创建DBLINK操作远程服务器数据库的方
- php截取字符串函数substr,iconv_substr,mb_substr示例以及
- bootstrap jquery dataTable 异步ajax刷新表格数据的实现
- PHP面向对象程序设计之多态性的应用示例