php 强制变为整数,强制PHP整数溢出

小编典典

因此,我解决了这个问题,并发现了很多有关PHP的知识(至少在处理Integer溢出的方式方面)。

1)它完全取决于机器在哪个平台上运行,哪个版本的PHP,是否运行Suhosin Hardened

PHP以及为多少(32或64)位编译之间的交叉。6台计算机的行为符合我的预期(实际上是错误的,至少根据他们的文档是错误的),而3台计算机的行为依旧无法解释,而3台计算机的行为则是根据intval命令说的来完成的。文档。

2)当int>

PHP_INT_MAX(不是int和0xffffffff)时,Intval应该返回PHP_INT_MAX,但这仅在某些版本的PHP4和PHP5上发生。当int>

PHP_INT_MAX时,不同版本的PHP返回不同的值。

3)以下代码可以返回3个不同的结果(请参见1):

echo "Php max int: ".PHP_INT_MAX."\n";

echo "The Val: ".(-1580033017 + -2072974554)."\n";

echo "Intval of the val: ".intval(-3653007571)."\n";

echo "And 0xffffffff of the val: ".(-3653007571 & 0xffffffff)."\n";

?>

它可以返回(对于Intval似乎正确,但对于&0xffffff则错误)

Php max int: 2147483647

The Val: -3653007571

Intval of the val: -2147483648

And of the val: -2147483648

它可以返回(与intval的PHP文档相矛盾):

Php max int: 2147483647

The Val: -3653007571

Intval of the val: -641959725

And of the val: -641959725

在64位计算机上,它返回(正确):

Php max int: 2147483647

The Val: -3653007571

Intval of the val: -3653007571

And of the val: -641959725

无论如何,我需要一个适用于所有这些平台的解决方案,并且不依赖于使用特定Max

int编译的特定版本PHP的怪癖。因此,我总结了以下跨PHP的threenTwoBitIntval函数:

function thirtyTwoBitIntval($value)

{

if ($value < -2147483648)

{

return -(-($value) & 0xffffffff);

}

elseif ($value > 2147483647)

{

return ($value & 0xffffffff);

}

return $value;

}

评论

我确实认为PHP的设计师应该说一个Int是32位Int,无论它是在32位,64位还是128位计算机上运行(例如DotNet

CLR),并且没有将其随机上转换为浮动取决于PHP编译器所依据的位数。

2020-05-19

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

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

相关文章

微信端php 开发技术要求,微信第三方平台开发详解——PHP版

申请第三方平台&#xff0c;这个很简单直接按照提示填写&#xff0c;下面的授权事件接收URL中获取的component_verify_ticket是会过期的&#xff0c;所以不要只获取一次&#xff0c;缓存起来每10分钟会发送一次&#xff0c;每1小时会更新一次。附上我的获取component_verify_ti…

刷题神器怎么导入java,怎么导题库_有没有比较好的可以自己导入题库进行模拟考试练习的软件_淘题吧...

① 本人有一题库&#xff0c;怎么把里面的试题全部导出题库都加密了&#xff0c;没有导出功能。只能固定抽题后&#xff0c;整理出来。② 在线考试系统题库怎么导入数据库优考试的考试系统导入题库是用word和excel的模板去编辑试题&#xff0c;再进行导入③ 如何导出机考app题库…

Java读取指定目录下的所有文件名

1.效果图&#xff1a;在控制台输出所有的文件的文件名如下&#xff1a; 2.FileUtil.java: package cn.gov.csrc.base.report.util;import java.io.File; import java.util.ArrayList;public class FileUtil {/*** 获取指定目录下的所有文件名* * param obj* return*/public sta…

php min命令,php min函数怎么用?

php min函数用于返回一个数组中的最小值&#xff0c;或者几个指定值中的最小值&#xff0c;其语法是min(array_values)&#xff0c;参数array_values必需&#xff0c;指规定一个包含值的数组。php min函数怎么用&#xff1f;定义和用法min() 函数返回一个数组中的最小值&#x…

java io加速器,Java 日期操作

测试代码&#xff1a;Calendar calendar Calendar.getInstance();Date today new Date();calendar.setTime(today);calendar.add(Calendar.DATE, -1);Date yesterday calendar.getTime();calendar.add(Calendar.DATE, 2);Date tomorrow calendar.getTime();SimpleDateForma…

php协程和goroutine,浅谈协程和Go语言的Goroutine

0x00.前言前面写了一篇今天来学习Go语言的Goroutine机制&#xff0c;这也可能是Go语言最为吸引人的特性了&#xff0c;理解它对于掌握Go语言大有裨益&#xff0c;话不多说开始吧&#xff01;通过本文你将了解到以下内容&#xff1a;什么是协程以及横向对比优势Go语言的Goroutin…

Java连接mysql出现SQL异常,MySQL 这样连接为何出现这样的异常

当前位置:我的异常网 Java Web开发 MySQL 这样连接为何出现这样的异常MySQL 这样连接为何出现这样的异常www.myexceptions.net 网友分享于&#xff1a;2013-09-12 浏览&#xff1a;12次MySQL 这样连接为何出现这样的错误大家好&#xff0c;小弟初学JSP,在连接数据库的时候遇…

matlab usb cam,Matlab环境下使用USB2.0摄像头编程image acquisition tools(读书笔记) | 学步园...

(1)Matlab环境下使用USB2.0摄像头编程Matlab中的图像获取工具箱给我们提供了必要的函数&#xff0c;我们直接调用就可以了&#xff0c;主要就是简单的介绍如何使用该工具箱进行对USB2.0摄像头的编程。TAG: USB摄像头 MatlabMatlab中的图像获取工具箱给我们提供了必要的函数&am…

Java实现:月,日,年,周,访问量统计

一&#xff1a;工程截图&#xff1a; 二&#xff1a;运行效果图&#xff1a; 三&#xff1a;CountObjectInfo.java: package cn.csrc.base.count;import java.util.Date;public class CountObjectInfo {// 总访问量合计protected int totalCount 0;// 日访问量protected int d…

数组之间的计算matlab,matlab中的矩阵运算和数组运算方法

MATLAB 具有两种不同类型的算术运算&#xff1a;数组运算和矩阵运算。您可以使用这些算术运算来执行数值计算&#xff0c;例如两数相加、计算数组元素的给定次幂或两个矩阵相乘。矩阵运算遵循线性代数的法则。数组运算则是执行逐元素运算并支持多维数组。句点字符 (.) 将数组运…

php爬取flash的交互数据库,基于PHP的Flash与MySQL数据库通讯的实现

第 27卷 第 6期 2013年 12月 商洛学院学报 Journal of Shangluo University V01&#xff0e;27 NO&#xff0e;6 Dec&#xff0e; 2013 基于 PHP的 Flash与 MySQL数据库通讯的实现 聋彦 。 (商洛学院 计算机科学系&#xff0c;陕西商洛 726000) 摘 要 &#xff1a;根据新媒体 网…

mysql版本不支持 loop,loopback4, node mysql connector支持 utf8mb4字符集

场景&#xff1a;数据库sql语句包含emoji 表情符号&#xff0c;比如微信登录昵称包含有表情符号&#xff0c;数据库使用utf8无法插入 会提示 ‘Incorrect string value: ‘xF0x9Fx90xBExE5xAE...‘ for column ‘nick_name‘ at row 1‘,原因&#xff1a;使用loopback4 做后端&…

php 获取警告信息,获取PHP警告错误信息的解决方法_PHP教程

代码如下所示&#xff1a;复制代码 代码如下:";fileWrite($filename, $result, w);}function sendBankMsg($msg){$timestamp time();$params "msg".$msg."&posttime".$timestamp;$length strlen($params);//创建socket连接$domain "www.…

JavaMelody开源系统性能监控软件:

一&#xff1a;从网上搜索&#xff0c;发现 javamelody 监控web应用程序不错。 JavaMelody能够在QA和实际运行生产环境监测Java或Java EE应用程序服务器。并以图表的形式显示&#xff1a;Java内存和Java CPU使用情况&#xff0c;用户Session数量&#xff0c;JDBC连接数&#x…

java zoneoffset,java - 如何在java8中获取默认的ZoneOffset? - SO中文参考 - www.soinside.com...

tl;drOffsetDateTime.now().getOffset()但您可能应该使用时区而不是仅仅偏离UTC。ZoneId.systemDefault()Offset versus Time Zoneoffset-from-UTC只是一小时&#xff0c;几分钟和几秒钟 - 仅此而已。time zone是特定地区人民使用的偏移的过去&#xff0c;现在和未来变化的历史…

matlab几种循环,Matlab for 多个变量循环能不能这样啊 ,求教高手!!!!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼for a0.003:0.0005:1; b0.002:0.0005:0.9; c0.001:0.0005:0.8;d0.0005:0.0005:0.7;E1a* E_Bone;E2b* E_Bone;E3c* E_Bone;E4d* E_Bone;G1a* G_Bone;G2b* G_Bone;G3c* G_Bone;G4d* G_Bone;%% Integration for cortical bone partsIn…

宝塔asp php,宝塔Windows面板部署ASP、ASPX程序WEB网站环境方法

宝塔Windows面板部署ASP、ASPX程序WEB网站环境方法一般Windows系统建站用户可能较多是程序是ASP或者是ASPX的&#xff0c;这样只能在Windows系统中才能运行。说实话&#xff0c;对于中文软件来说也没有太多内容可以分享的&#xff0c;直接我们照着操作就可以了&#xff0c;既然…

php声波模拟开门,关于 php使用扩展控制树莓派io 驱动超声波测距

经过昨天一下午&#xff0c;终于写好了基于只需要安装完毕&#xff0c;就可以调用函数了&#xff1a;<?php /*** Created by PhpStorm.* User: tioncico* Date: 19-7-6* Time: 下午4:45*/define(PI_TRIG,0);define(PI_ECHO,1);if (wiringPiSetup()false){echo "初始化…

Java和poi导出excel报表

一&#xff1a;poi jar下载地址&#xff1a;点击打开链接&#xff1a; 二&#xff1a;工程截图&#xff1a; 三&#xff1a;运行效果截图&#xff1a; 四&#xff1a;源代码&#xff1a; Student.java: package com.poi.bean;import java.util.Date;public class Student {pri…

matlab汉明码psk,设计一个汉明码编码的2PSK调制的数字通信系统

汉明码信道编码的2psk调制数字通信系统设计一个采用2PSK调制的数字通信系统设计系统整体框图及数学模型&#xff1b;产生离散二进制信源&#xff0c;进行信道编码(汉明码)&#xff0c;产生BPSK信号&#xff1b; 加入信道噪声(高斯白噪声)&#xff1b;BPSK信号相干解调&#xff…