php get 数据类型,PHP基础-数据类型-integet

integer 是集合 ℤ = {…, -2, -1, 0, 1, 2, …} 中的某个数。

语法

整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。 可以用 负运算符 来表示一个负的integer。

二进制表达的 integer 自 PHP 5.4.0 起可用。

要使用八进制表达,数字前必须加上 0(零)。要使用十六进制表达,数字前必须加上 0x。要使用二进制表达,数字前必须加上 0b。

从 PHP 7.4.0 开始,整型数值可能会包含下划线 (_),为了更好的阅读体验,这些下划线在展示的时候,会被 PHP 过滤掉。

Example #1 整数文字表达

$a = 1234; // 十进制数

$a = 0123; // 八进制数 (等于十进制 83)

$a = 0x1A; // 十六进制数 (等于十进制 26)

$a = 0b11111111; // 二进制数字 (等于十进制 255)

$a = 1_234_567; // 整型数值 (PHP 7.4.0 以后)

?>

整数溢出

如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。

Example #2 32 位系统下的整数溢出

$large_number = 2147483647;

var_dump($large_number); // int(2147483647)

$large_number = 2147483648;

var_dump($large_number); // float(2147483648)

$million = 1000000;

$large_number = 50000 * $million;

var_dump($large_number); // float(50000000000)

?>

Example #3 64 位系统下的整数溢出

$large_number = 9223372036854775807;

var_dump($large_number); // int(9223372036854775807)

$large_number = 9223372036854775808;

var_dump($large_number); // float(9.2233720368548E+18)

$million = 1000000;

$large_number = 50000000000000 * $million;

var_dump($large_number); // float(5.0E+19)

?>

PHP 中没有整除的运算符。1/2 产生出 float 0.5。 值可以舍弃小数部分,强制转换为 integer,或者使用 round() 函数可以更好地进行四舍五入。

从 PHP 7.0.0 开始,函数 intdiv() 可以用于整数除法。

var_dump(25/7); // float(3.5714285714286)

var_dump((int) (25/7)); // int(3)

var_dump(round(25/7)); // float(4)

?>

转换为整形

要明确地将一个值转换为 integer,用 (int) 或 (integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。还可以通过函数 intval() 来将一个值转换成整型。

将 resource 转换成 integer 时, 结果会是 PHP 运行时为 resource 分配的唯一资源号。

从布尔值转换

FALSE 将产生出 0(零),TRUE 将产生出 1(壹)。

从浮点型转换

当从浮点数转换成整数时,将向下取整。

PHP 7.0.0 起,NaN 和 Infinity 在转换成 integer 时,不再是 undefined 或者依赖于平台,而是都会变成零。

绝不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果,比如:

echo (int) ( (0.1+0.7) * 10 ); // 显示 7!

?>

从字符串转换

当一个字符串被当作一个数值来取值,其结果和类型如下:

如果该字符串没有包含 ‘.’,’e’ 或 ‘E’ 并且其数字值在整型的范围之内(由 PHP_INT_MAX 所定义),该字符串将被当成 integer 来取值。其它所有情况下都被作为 float 来取值。

该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 ‘e’ 或 ‘E’ 后面跟着一个或多个数字构成。

$foo = 1 + "10.5"; // $foo is float (11.5)

$foo = 1 + "-1.3e3"; // $foo is float (-1299)

$foo = 1 + "bob-1.3e3"; // $foo is integer (1)

$foo = 1 + "bob3"; // $foo is integer (1)

$foo = 1 + "10 Small Pigs"; // $foo is integer (11)

$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)

$foo = "10.0 pigs " + 1; // $foo is float (11)

$foo = "10.0 pigs " + 1.0; // $foo is float (11)

?>

从NULL转换

NULL 会转换为零 (0)

从其它类型转换

Caution 没有定义从其它类型转换为整型的行为。不要依赖任何现有的行为,因为它会未加通知地改变

本作品采用《CC 协议》,转载必须注明作者和本文链接

✍️博客文章皆为网络收藏整理,作书签使用,方便后期查阅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php怎么seo,怎样学习seo

学习seo的方法:1、从搜索引擎原理开始,学习seo要先从搜索引擎原理开始;2、多思考;3、学习seo要多看高质量的seo教程;4、多和seo高手交流,经常听听大神的seo理论,集百家之所长,这样会…

php callable 参数,php 利用反射执行callable

现在有一个这样的函数我想利用反射,再用call_user_func执行,当然,我不是白痴和多此一举,主要是因为上面的$func是一个数组中的值,我现在要写一个解析数据函数,会遇到$func,写法如下:…

php ip 短时间 重复,php 限制同一个IP 一段时间不能评论多次,能给我详细解决的...

php 限制同一个IP 一段时间不能评论多次,能给我详细解决的mip版 关注:163 答案:3 悬赏:30解决时间 2021-01-25 15:27已解决2021-01-25 05:54php 限制同一个IP 一段时间不能评论多次,能给我详细解决的最佳答案2021-01-25 06:49在评论的操作中,都需要记录用户ip地址…

java 8 list,JAVA8 ListListInteger list中再装一个list转成一个list操作

我就废话不多说了&#xff0c;大家还是直接看代码吧~List collect IntStream.range(1, 10).boxed().collect(Collectors.toList());List collect1 IntStream.range(10, 20).boxed().collect(Collectors.toList());List> lists new ArrayList<>();lists.add(collect…

matlab中创建一个工程,从文件夹创建新工程

从文件夹创建新工程如果您有许多文件并希望将它们整理为一个工程(无论是否进行源代码管理)&#xff0c;请按照以下步骤创建一个新工程。使用 Simulink Start Page 中的 Folder to Project 模板可轻松将一个文件夹转换为工程。该模板会自动将您的文件添加到工程中&#xff0c;并…

局部遮荫光伏matlab,一种基于随机蛙跳全局搜索算法的局部阴影光伏阵列MPPT控制的制作方法...

本发明涉及一种局部阴影光伏阵列多峰MPPT控制方法&#xff0c;特别涉及一种基于随机蛙跳全局搜索算法的局部阴影光伏列阵多峰MPPT控制。背景技术&#xff1a;伴随太阳能发电的普及&#xff0c;光伏阵列的运行环境变的越来越复杂&#xff0c;局部遮荫导致光伏阵列输出特性曲线出…

打靶法matlab求边值问题代码,数学实验“微分方程组边值问题数值算法(打靶法,有限差分法)”实验报告(内含matlab程序)...

实验二十七实验报告一、实验名称&#xff1a;微分方程组边值问题数值算法(打靶法&#xff0c;有限差分法)。二、实验目的&#xff1a;进一步熟悉微分方程组边值问题数值算法(打靶法&#xff0c;有限差分法)。三、实验要求&#xff1a;运用Matlab/C/C/Java/Maple/Mathematica 等…

php symfony 安装,Symfony4中文文档: 安装和设置Symfony框架

安装和设置Symfony框架要创建新的Symfony应用程序, 首先确保使用的是PHP7.1 或更高版本并且已经安装Componser. 如果未安装, 请首先在系统上全局安装Componser. 如果你想使用虚拟机(VM), 请查看Homestead通过运行以下命令来创建新项目:$ composer create-project symfony/websi…

matlab变参传函,什么是传递函数的增益

公告&#xff1a; 为响应国家净网行动&#xff0c;部分内容已经删除&#xff0c;感谢读者理解。话题&#xff1a;什么是传递函数的增益?它是干什么的?怎么求?回答&#xff1a;我认为楼上的是错误的G(S)Y(s)/R(s) K(as1)(bs1)(ms1)/((ns1)(ps1).(qs1) )这样的K才是控制论里面…

matlab单元数组和结构,Matlab使用单元数组和结构数组

Matlab使用字符串数组、单元数组(cell array)和结构数组 (struct array)要在MALTAB中实现比较复杂的编程&#xff0c;就不能不用单元数组(cell array)和结构数组(structarray)。而且在Matlab中实现struct比C中更为方便。MATLAB字符串数组的创建与运算字符串数组主要用于可视化编…

matlab sar 斑马图,星载合成孔径雷达(SAR)斑马图仿真与研究

收稿日期:2002 - 04 - 22   第 20 卷  第 5 期 计  算  机  仿  真 2003 年 5 月    文章编号:1006 - 9348(2003)05 - 0123 - 04 星载合成孔径雷达( SAR)斑马图仿真与研究 朱力1 ,于立2 (1. 南京理工大学 ,江苏南京 210094 ;2. 南京电子技术研究所 ,江苏 南京 210013)…

matlab等高线二维加数字,matlab绘制二维等高线

第5章 MATLAB绘图 5.1 二维数据曲线图 5.2 其他二维图形 5.3 隐函数绘图 5.4 三维图形 5.5 图形修饰处理 5.6 图像处理与动画制作 5.1 二维数据曲线图 5......绘图 一.实验目的掌握 matlab 二维图形和三维图形的绘制方法,并会对图形进行处理,掌握符号函数(显 函数、隐函数和参数…

php订阅与推送,PHP用户关键词订阅推送文章功能

具体要求&#xff1a;PHP用户关键词订阅推送文章功能采用语言原生PHP5.6数据库mysql需求会员才能设置关键词推送比如用户设置了关键词比如‘电脑采购’和设置了匹配标题&#xff0c;如果有文章标题包含这个关键词&#xff0c;那就推送文章{文章id}比如用户设置了关键词比如‘电…

php的array_walk,PHP array_walk() 函数详解

定义array_walk - 对数组的每个元素应用自定义函数描述array_walk ( array &$array , callable $callback [, mixed $userdata NULL ] ) : bool回调函数的参数&#xff0c;第一个是元素值&#xff0c;第二个是元素键名&#xff0c;第三个是可选的 $userdata。如果只想改变…

Java定义变量x初始值为3,JAVA 第一章

第一章1.注释&#xff1a;一个好的开发习惯&#xff0c;应该是多编写注释&#xff0c;这样程序的可读性增强。单行注释// 单行注释 &#xff0c;只注释当前行多行注释/*多行注释多行注释*/javadoc 注释/**javadoc 注释javadoc 注释javadoc 注释*/注意&#xff1a;这种注释是比较…

matlab二元方程组,用matlab解一个二元方程组,会的进,得到解再回答

共回答了20个问题采纳率&#xff1a;75%clear,clcformat longf(x)[tan(4*3.14*20000*0.03)2*3.14*20000/x(1)*tan(x(1)*x(2));sqrt(4*3.14^2*20000^2*7840/2.1e11-log(2)*log(2)/x(2)^2)-x(1)];[s,v]fsolve(f,[24;0.1])Equation solved.fsolve completed because the vector of…

matlab生成组合字典序法,组合数学 排列生成算法 字典序

字典序排序生成数字使用1~MAXfunction dfs(n) {if (n MAX) {// console.log(a)ALL.push(Array.from(a))used.delete(a.pop())return}for (let i 1; i < MAX; i) {if (!used.has(i)) {a.push(i)used.add(i)dfs(n 1)}}used.delete(a.pop())}递增进位制由于n个排列有n&#…

血型算法php,血型排行榜!(真的很准)

一最容易动怒的人是&#xff1a;1.O 型&#xff1a;急性子&#xff0c;一点小事就能惹火他&#xff0c;性格中有好斗的一面&#xff0c;会以 " 我想发泄一下 " 为理由大发雷霆。2.B 型&#xff1a;看上去脾气很好&#xff0c;其实性情很直接&#xff0c;被愤怒冲昏头…

php div行内块元素,行内元素与块级元素的区别详细介绍

首先&#xff0c;CSS规范规定&#xff0c;每个元素都有display属性&#xff0c;确定该元素的类型&#xff0c;每个元素都有默认的display值&#xff0c;分别为块级(block)、行内(inline)。块级元素&#xff1a;(以下列举比较常用的块级元素&#xff0c;详情可在w3cschool查询)定…

每个java小应用程序都得继承,JAVA复习题3

23.容器JFrame及JPanel默认的布局管理器分别是()A、FlowLayout和GridLayoutB、BorderLayout和FlowLayoutC、FlowLayout和FlowLayoutD、CardLayout和BorderLayout24.在开发一个JAVA GUI程序时&#xff0c;通常都要对按键事件作出响应和处理&#xff0c;一般需要在程序的开头写上…