PHP 比较数据类型不匹配
所以我有 2 个变量,var1,
var2
。
$var1 = "53,000,000" //- integer
$var2 = 10 //- string
最后我想比较两者,所以我
$var1 = (int)str_replace(",","",$var1); // => 53000000 - integer
这是我的问题..如果我这样做:
if($var1 > $var2)
$var2 = $var1
我得到$var2 = 0
....为什么?
.. 在 PHP 5.2.14 上运行
编辑 不小心输入了 substr_replace 而不是 str_replace。已更新。
So I have 2 variables, var1,
var2
.
$var1 = "53,000,000" //- integer
$var2 = 10 //- string
In the end I want to compare both, so I
$var1 = (int)str_replace(",","",$var1); // => 53000000 - integer
Here's my issue .. if I do:
if($var1 > $var2)
$var2 = $var1
I get $var2 = 0
.... Why ?
.. running on PHP 5.2.14
EDIT Accidentally typed in substr_replace instead of str_replace. Updated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我必须添加几个分号,但这是代码:
这是我的输出:
我使用了5.2.6,但这应该不重要。您在显示的内容之间还有其他代码吗?
I had to add a couple semicolons, but here's the code:
And here's my output:
I used 5.2.6, but it shouldn't matter. Do you have any other code in between what you're showing?
使用
str_replace()
而不是substr_replace()
。Use
str_replace()
instead ofsubstr_replace()
.您为 substr_replace 指定了错误的参数,因此 $var1 的计算结果为 0。我猜您想使用 str_replace。
You've specified the wrong parameters for substr_replace, so $var1 is evaluated to 0. I guess you wanted to use str_replace.
不需要类型转换。只需执行 str_replace
这是代码
No need for type casting. just do the str_replace
Here is code