怎么在php7中开启强类型模式

怎么在php7中开启强类型模式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联公司服务项目包括石拐网站建设、石拐网站制作、石拐网页制作以及石拐网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,石拐网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到石拐省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

首先

输出结果为:

float(3) float(3.5)

然后加上强类型模式

输出结果为:

float(3) float(3.5)

从这里好像看不出区别,因为int->float类型的转换是允许的。

咱们再看一个例子:

function sum(int $a,int $b):float
{
        return $a+$b;
}
var_dump(sum(1,2));
var_dump(sum(1,2.5));

输出结果为:

float(3) float(3)

这是因为2.5被强制转化为int类型,值为2,1+2=3,结果也没有什么问题,但是一般来说这种隐式的转化太过于难理解,可能不是我们预期的结果。

所以我们加入强类型模式来看一下输出结果,代码如下:

输出结果为:

float(3)
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, float given, called in /home/www/learn.php on line 8 and defined in /home/www/learn.php:3 Stack trace: #0 /home/www/learn.php(8): sum(1, 2.5) #1 {main} thrown in /home/www/learn.php on line 3

这里可以看出,强类型模式生效了,sum(1,2.5)一句出错了,2.5因为不是int类型导致程序出现错误。

如果遇到这种情况,让我们通过捕获异常的方式来捕获这种错误

代码如下:

getMessage();
}
?>

输出结果为:

float(3) 
Error:Argument 2 passed to sum() must be of the type integer, float given, called in /home/www/learn.php on line 9

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


网站题目:怎么在php7中开启强类型模式
文章网址:http://ybzwz.com/article/igoisd.html