PHP7标量类型declare用法实例分析

 更新时间:2016年09月26日 16:20:40   作者:ligbee  
这篇文章主要介绍了PHP7标量类型declare用法,结合实例形式分析了PHP7中标量类型declare的功能、特性与相关使用技巧,需要的朋友可以参考下

本文实例讲述了PHP7标量类型declare用法。分享给大家供大家参考,具体如下:

php7为了提高执行效率,在函数方法中增加了标量类型(布尔、浮点、整型、字符)的申明特性,节省了对数据类型的检测。

php7 仍然支持弱类型检测,即仍然可以使用原来的方式声明形参。

标量声明有两种特性:

强制模式(默认):体现在类型转换上

严格模式

模式声明:declare(strict_types=1);

默认情况值为0,值为1代表为严格校验的模式

可以使用的类型参数:

int-float-bool-string-interfaces-array-callable

作用于形参与返回值类型说明,可选

形参

//强制模式
<?php
/**
 * Created by PhpStorm.
 * User: bee
 * Date: 2016/4/22
 * Time: 10:17
 */
// php7之前申明方式
function type_weak(... $int){
  return array_sum($int);
}
// 强制模式 php7声明方式
//强制模式下会将所有实参转换为整型
function sum(int ... $ints)
{
  //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  print_r($ints);
  echo "<br>";
  return array_sum($ints);
}
echo type_weak(2, '3',0.11);
echo "<hr>";
echo sum(2, '3',0.11);

运行效果图如下:

//将模式申明为严格模式
<?php
/**
 * Created by PhpStorm.
 * User: bee
 * Date: 2016/4/22
 * Time: 10:17
 */
 //declare 必须在文件首部
declare(strict_types=1);
// 强制模式(默认)
function type_weak(... $int){
  return array_sum($int);
}
// 强制模式
function sum(int ... $ints)
{
  //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  print_r($ints);
  echo "<br>";
  return array_sum($ints);
}
echo type_weak(2, '3',0.11);
echo "<hr>";
//实参存在字符串与浮点型,报错
echo sum(2, '3',0.11);

运行效果图如下:

返回值

<?php
/**
 * Created by PhpStorm.
 * User: bee
 * Date: 2016/4/22
 * Time: 10:17
 */
declare(strict_types=0);
// 强制模式(默认)
function type_weak(... $int) :int{
  return array_sum($int);
}
// 强制模式
function sum(int ... $ints) :int
{
  //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  print_r($ints);
  echo "<br>";
  //严格模式下报错
  return array_sum($ints)+0.6;
}
echo type_weak(2, '3',0.11);
echo "<hr>";
echo sum(2, '3',0.11);

运行效果图如下:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php图像验证码生成代码

    php图像验证码生成代码

    这篇文章主要为大家详细 介绍了php图像验证码的生成代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • php swoft框架实例用法

    php swoft框架实例用法

    在本篇文章里小编给大家分享了一篇关于php swoft框架实例用法,有需要的朋友们可以学习参考下。
    2020-12-12
  • PHP实现的博客欢迎提示功能(很特别哦)

    PHP实现的博客欢迎提示功能(很特别哦)

    很别致的欢迎词功能,可以放在博客的空余位置,让访客通过直接访问、搜索引擎访问时,显示欢迎提示,就跟店门口的服务员说“欢迎光临”似的,让人如沐春风啊。
    2014-06-06
  • php zlib压缩和解压缩swf文件的代码

    php zlib压缩和解压缩swf文件的代码

    我在以前写过怎么使用c#来压缩和解压缩swf文件,解压缩,压缩和读取flash头文件信息
    2008-12-12
  • PHP封装的完整分页类示例

    PHP封装的完整分页类示例

    这篇文章主要介绍了PHP封装的完整分页类,涉及php数值计算、URL构造、sql查询等相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • php中二分法查找算法实例分析

    php中二分法查找算法实例分析

    这篇文章主要介绍了php中二分法查找算法,结合实例形式总结分析了二分查找算法的原理与具体实现技巧,需要的朋友可以参考下
    2016-09-09
  • php ajax异步读取rss文档数据

    php ajax异步读取rss文档数据

    这篇文章主要介绍了php ajax异步读取rss文档数据的相关资料,RSS是一种描述和同步网站内容的格式,需要的朋友可以参考下
    2016-03-03
  • PHP读取目录树的实现方法分析

    PHP读取目录树的实现方法分析

    这篇文章主要介绍了PHP读取目录树的实现方法,结合实例形式分析了php针对文件目录结构的遍历、读取操作实现技巧,需要的朋友可以参考下
    2019-03-03
  • php中读写文件与读写数据库的效率比较分享

    php中读写文件与读写数据库的效率比较分享

    一直以来大家都把一些不经常修改的数据保存为文件来调用,看来还是比较正确的,直接读文件相比数据库查询效率更胜一筹,而且文中还没算上连接和断开的时间
    2013-10-10
  • PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)

    PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)

    这篇文章主要介绍了PHP编程计算两个时间段是否有交集的实现方法,结合具体实例形式对比分析了php时间段的转换、比较等相关操作技巧,需要的朋友可以参考下
    2017-05-05

最新评论