您的位置:首页 > 编程语言 > PHP开发

PHP7新特性—标量类型声明

2019-04-10 19:36 176 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/wanmei002/article/details/89188638

以下内容借鉴菜鸟教程 代码是j绝对验证过的

PHP7增加了标量类型声明的特性,标量类型声明有两种模式
1 . 强制模式(默认)
2 . 严格模式

标量类型声明语法格式:
declare( strict_types=1 );

代码中通过制定 strict_types 的值( 1 或者 0 )

  • 1 表示严格类型校验模式,作用于函数调用和返回语句;
  • 0 表示弱类型校验模式。

可以使用的类型参数有:

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable

callable 可回掉的函数名

// 强制模式

function sum(int ...$ints) //    ...三个点 是可变参数 可能借鉴了 java吧
{
return array_sum($ints); //不知道怎么回事 加上 $ 报错
}
print(sum(2, '3', 4.1));

不会报错 答案是 9 ,会把 字符串 浮点型 转换成整型相加

// 严格模式

declare(strict_types=1);

function sum(int ...$ints)
{
return array_sum($ints);
}

print(sum(2, '3', 4.1));

报 fatal error 错误 参数必须是 int 类型

返回类型的声明:
PHP 7 增加了对返回类型声明的支持,返回类型声明指明了函数返回值的类型。
可以声明的返回类型有:

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable
declare(strict_types=1);
function returnIntValue(int $value): int      // 冒号 :后面跟 类型
{
return $value;
}
print(returnIntValue(5));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: