比较时PHP数据类型不匹配

比较时PHP数据类型不匹配,php,operators,mismatch,Php,Operators,Mismatch,所以我有两个变量,var1,var2 $var1 = "53,000,000" //- integer $var2 = 10 //- string 最后我想比较两者,所以我 $var1 = (int)str_replace(",","",$var1); // => 53000000 - integer 这是我的问题。。如果我这样做: if($var1 > $var2) $var2 = $var1 我得到$var2=0。。。。为什么? .. 在PHP5.2.14上运行

所以我有两个变量,
var1,
var2

$var1 = "53,000,000" //- integer
$var2 = 10 //- string
最后我想比较两者,所以我

$var1 = (int)str_replace(",","",$var1); // => 53000000 - integer
这是我的问题。。如果我这样做:

if($var1 > $var2)  
    $var2 = $var1
我得到
$var2=0
。。。。为什么?
.. 在PHP5.2.14上运行


编辑意外键入的substr\u replace而不是str\u replace。更新。

使用
str\u replace()
而不是
substr\u replace()
您为substr\u replace指定了错误的参数,因此$var1计算为0。我猜你想用str_替换。

不需要类型转换。只需做str_替换

这是代码

$var1 = "53,000,000" ;    
$var2 = 10;  
$var1=str_replace(',','',$var1);  
if($var1 > $var2)    
    $var2 = $var1;

    echo $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;

var_dump($var1, $var2);
这是我的输出:

整数(53000000)整数(53000000)


我用了5.2.6,但这不重要。在显示的内容之间是否有其他代码?

$var2=10-string的含义是什么?我建议您阅读。例如,你不需要用

换行,只要在行尾加两个空格就行了…@Felix,谢谢你的提示@Mark-现在应该用Felixs`edit清楚了。这对我不起作用,这就是我在这里发布的原因。通常情况下,它应该尝试Ravindrans代码,并使用PHP5.2.4。您是否在空白php脚本上尝试过此操作?您确定没有干扰其他代码吗?