PHP中十六进制字符串如何处理,方法是什么
Admin 2022-08-04 群英技术资讯 603 次浏览
本篇文章由PHP7教程栏目给大家介绍一下关于 php7 中 "0xFFFFFFFF" 和 0xFFFFFFFF 的问题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
$t1 = 0x3FFFFFFF & (1 * (0xd5b42e11)); $t2 = 0x3FFFFFFF & (1 * ("0xd5b42e11")); var_dump($t1,$t2);
以上代码在 php7(不含)以下平台的值为:
int(364129809) int(364129809)
而在 php7的值为:
int(364129809) int(0)
请问,在 php7的环境下,应该如何处理 0x.$str 使它同上面值一样呢?
PHP7开始,含十六进制字符串不再被认为是数字
如果非要检测字符串是否含十六进制数字,官方建议的代码是
<?php $str = "0xffff"; $int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX); if (false === $int) { throw new Exception("Invalid integer!"); } var_dump($int); // int(65535) ?>
针对上述问题就应该改成
$t1 = 0x3FFFFFFF & (1 * (0xd5b42e11)); $t2 = 0x3FFFFFFF & (1 * (filter_var("0xd5b42e11", FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX))); var_dump($t1,$t2);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php7开启错误提示的方法:1、修改php.ini文件并开启错误提醒;2、修改httpd.conf文件,在末行添加设置为“php_flag display_errors on”;3、重启Apache服务以及php服务即可。
今天小编就为大家分享一篇ThinkPHP 5.1 跨域配置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
php中get_object_vars()在数组的使用:1、获取$object对象中的属性,组成一个数组;2、语法,get_object_var($object);3、使用注意,缺点,只转一维,不会递归。
这篇文章主要介绍了Laravel框架基于中间件实现禁止未登录用户访问页面功能,结合实例形式分析了Laravel框架中间件生成、注册及使用相关操作技巧,需要的朋友可以参考下
本篇文章给大家介绍一下PHP7连接数据库的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008