2010-11-19 8 views
0

J'ai donc 2 variables, var1,var2.PHP Incompatibilité de type de données sur la comparaison

$var1 = "53,000,000" //- integer 
$var2 = 10 //- string 

En fin de compte, je veux comparer les deux, donc je

$var1 = (int)str_replace(",","",$var1); // => 53000000 - integer 

Voici mon problème .. si je fais:

if($var1 > $var2) 
    $var2 = $var1 

Je reçois $var2 = 0 .... Pourquoi?
.. fonctionnant sur PHP 5.2.14

EDIT dactylographiées Accidentally in substr_replace au lieu de str_replace. Actualisé.

+0

Que signifie $ var2 = 10 - chaîne? –

+0

Je vous suggère de lire l '[Aide à la modification] (http://stackoverflow.com/editing-help). Par exemple. vous n'avez pas besoin de '
' pour un saut de ligne, il suffit de mettre deux espaces à la fin de la ligne ... –

+0

@Felix, merci pour le conseil @ Mark - devrait être clair maintenant avec Felixs' edit –

Répondre

1

je devais ajouter quelques points-virgules, mais voici le code:

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

Et voici ma sortie:

int (53000000) int (53000000)

J'ai utilisé 5.2.6, mais cela ne devrait pas avoir d'importance. Avez-vous d'autres codes entre ce que vous montrez?

0

Utilisez str_replace() au lieu de substr_replace().

+0

Oui, mal faute de frappe, édité. Toujours pas de solution. –

0

Vous avez spécifié les mauvais paramètres pour substr_replace, donc $ var1 est évalué à 0. Je suppose que vous vouliez utiliser str_replace.

+0

Oui, erreur de frappe, modifié. Toujours pas de solution. –

0

Pas besoin de coulée de type. il suffit de faire la str_replace

Voici le code

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

    echo $var2; 
+0

Cela ne fonctionne pas pour moi, c'est pourquoi j'ai posté ici. Normalement, il devrait –

+1

J'ai essayé le code Ravindrans et cela a fonctionné avec PHP 5.2.4. Avez-vous essayé ceci sur un script php vide? Êtes-vous sûr qu'il n'y a pas d'interférence avec d'autres codes? – acme

Questions connexes