2010-11-19 18 views
0

したがって、私は2つの変数、var1,var2を持っています。私は両方を比較したい最後にPHPデータ型の不一致比較

$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で入力

EDIT上で実行されています。更新しました。

+0

$ var2 = 10とは何ですか? –

+0

[編集ヘルプ](http://stackoverflow.com/editing-help)を読むことをお勧めします。例えば。あなたは '
'を改行する必要はありません。行の最後に2つのスペースを入れてください。 –

+0

@Felix、チップありがとう @マーク - Felixsの編集ではっきりしているはずです –

答えて

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); 

そして、ここでは私の出力です:

int型(53000000)int(53000000)

私は5.2.6を使用しましたが、それは問題ではありません。あなたが見せているものの間に他のコードがありますか?

0

substr_replace()の代わりにstr_replace()を使用してください。

+0

はい、間違っていますタイプミス。まだ修正はありません。 –

0

substr_replaceに間違ったパラメータが指定されているため、$ var1は0と評価されます。str_replaceを使いたいと思います。

+0

はい、間違った入力ミスが編集されました。まだ修正はありません。 –

0

タイプキャストの必要はありません。ただstr_replace私はカップルのセミコロンを追加する必要がありました。ここ

コード

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

    echo $var2; 
+0

それは私のために働かないので、ここに投稿しました。通常はそれは –

+1

です。Ravindransコードを試してみましたが、PHP 5.2.4で動作しました。空のPHPスクリプトでこれを試しましたか?他のコードに干渉していないことは確かですか? – acme

関連する問題