0

所以我有 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。更新。

4

4 回答 4

1

我不得不添加几个分号,但这里是代码:

$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,不过没关系。您在显示的内容之间还有其他代码吗?

于 2010-11-19T14:09:06.073 回答
0

使用str_replace()而不是substr_replace().

于 2010-11-19T12:34:56.917 回答
0

您为 substr_replace 指定了错误的参数,因此 $var1 被评估为 0。我猜您想使用 str_replace。

于 2010-11-19T12:40:04.987 回答
0

不需要类型转换。只需执行 str_replace

这是代码

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

    echo $var2;
于 2010-11-19T12:45:48.700 回答