比较时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脚本上尝试过此操作?您确定没有干扰其他代码吗?