PHP 标量类型与返回值类型声明

标量类型声明

默认情况下,所有的PHP文件都处于弱类型校验模式。

PHP 7 增加了标量类型声明的特性,标量类型声明有两种模式:

  • 强制模式 (默认)
  • 严格模式

标量类型声明语法格式:

declare(strict_types=1);

代码中通过指定strict_types的值(1或者0),1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。

可以使用的类型参数有:

int float bool string interfaces array callable

强制模式实例

实例

// 强制模式
function sum(int ...$ints)
{
return array_sum($ints);
}
print(sum(2, '3', 4.1));

以上程序执行输出结果为:

9

实例汇总将参数 4.1 转换为整数 4 后再相加。

严格模式实例

实例

// 严格模式
declare(strict_types=1); function sum(int ...$ints)
{
return array_sum($ints);
}
print(sum(2, '3', 4.1));

以上程序由于采用了严格模式,所以如果参数中出现不适整数的类型会报错,执行输出结果为:

PHP Fatal error:  Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……

测试 markdown的更多相关文章

  1. 测试markdown语法

    测试使用markdown 这是无序列表 空调 洗衣机 电脑 这是有序列表 西瓜 哈密瓜 火龙果 下划线bingo 测试 斜体好丑 粗体很赞 测试插入代码 $(document).ready(funct ...

  2. 测试markdown 博客功能

    欢迎使用 Cmd - 在线 Markdown 编辑阅读器 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 -- 我们 ...

  3. 测试markdown

    总结 写内容:博客重要的是内容,如果要讲形式与技术,应该深入学习html,这不是我的重点. 专注:就是利用MD这个好机会,忘记格式,用最简约的美观,来反衬出思考的清晰,内容的价值性. 今天 既要美国式 ...

  4. 测试markdown发布

  5. 这是一个测试,测试markdown语法

    [TOC] 1. chpt1 这是一段话,前面没有空格 前面有4个空格,且在编辑状态下上面没有空行 前面有4个空格,且在编辑状态下上面有一个空行. 前面按了一下tab 1.1 1.1 2 段落1 前面 ...

  6. [测试] Markdown+Latex

    标题 标题 标题 标题 标题 标题 #include <cstdio> #define R register int #define I inline void #define IL in ...

  7. 测试markdown编辑器

    标题1 标题2 +++ 第一件事 +++ 第二件事 +++ 第三件事 |head|头|头栏| |body|body|body|

  8. 展示时测试Markdown渲染

    \begin{equation} %公式 Speedup_{overall} = \frac{1}{{(1-Fraction_{partitioned})} +\frac{Fraction_{part ...

  9. [测试篇]MarkDown之代码块行号+折叠图片

    对比测试代码编号 $(function(){ $('pre code').each(function(){ texts = $(this).text().replace(/&(?!#?[a-z ...

随机推荐

  1. pcap的安装

    pcap,即 packet capture library 抓包库,这个抓包库给抓包系统提供了一个高层次的接口.所有网络上的数据包,甚至是那些发送给其他主机的,通过这种机制,都是可以捕获的.它也支持把 ...

  2. 浅析MongoDB用户管理

    浅析MongoDB用户管理 http://www.jb51.net/article/53830.htm mongodb3.03开启认证 http://21jhf.iteye.com/blog/2216 ...

  3. linux命令面试题

    文件管理命令 (1)Linux的文件系统目录配置要遵循FHS规范,规范定义的两级目录规范如下:        /home  每个账号在该目录下都有一个文件夹,进行数据的管理        /usr 有 ...

  4. centos 6 编译安装php-5.4/5.5(lamp模式)

    在安装LAMP架构时,我们常用php-5.3的版本 现进行php-5.4/5.5的编译安装演示: [root@localhost ~]# cd /usr/local/src [root@localho ...

  5. XML 约束 (DTD和 schema)

    book.DTD 如下: <?xml version="1.0" encoding="UTF-8" ?> <schema xmlns=&quo ...

  6. cookies保存购物车数据的编码问题(pickle和base64)

    在保存cookies时,如果存在着中文字符,cookies保存会报错.所以需要对数据进行编码. 通常cookies的保存都是以Base64来保存.所以先要对数据编码成bytes,再编码成base64字 ...

  7. UVALive 5099

    B - Nubulsa Expo Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit S ...

  8. js 获取html5的data属性

    我以前一直以为只能用jquery的data()来获取 哈哈 是我太弱了 <!DOCTYPE html> <html> <head> <title>dat ...

  9. hdu 1003(最大子段和)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  10. Balanced Binary Tree——经典题

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...