首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP: BCMath接受整数吗?

PHP: BCMath接受整数吗?
EN

Stack Overflow用户
提问于 2018-03-13 16:35:49
回答 1查看 759关注 0票数 0

在BCMath函数中使用INT型变量安全吗?

示例:

代码语言:javascript
复制
<?php
$a = 1;
$b = "1";
echo bcadd($a,$b,0);
?>

这似乎可行,但这样做安全吗?或者,是否存在PHP可以将INT解释为int值以外的其他东西的风险(我正在考虑十六进制值等)?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-13 18:20:50

对大量的数字要小心。如果将文字整数> PHP_INT_MAX赋给变量,则为PHP将自动将其转换为浮点数。我知道您专门询问了int,在这种情况下,您将传递一个浮点数,但是如果您不知道自动转换,它看起来就像是使用了一个大int,所以我认为这是值得一提的。

代码语言:javascript
复制
$a = 9223372036854775808;
$b = '1';

var_dump($b);              // float 9.2233720368548E+18
echo bcadd($a, $b, 0);     // echoes 1

基本上,这个函数确实需要一个字符串。如果您给它一些不是字符串的东西,PHP会自动将它转换成一个字符串,除非您已经启用了严格模式

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49261368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档