Transformation string en float aléatoire
Bonjour,
Je rencontre un soucis. j'ai besoin de transformer une variable string en float.
Quand je l'extrait d'une base de données, cela fonctionne.
Code:
1 2 3 4
|
$var = "7.1";
$var_float = floatval($var);
echo var_dump($var_float)."<br>"; |
Mais, quand je l'extrait d'un fichier, cela ne fonctionne plus (la variable a la même valeur dans les deux cas). Ou plutôt, elle est bien convertit (double) mais sa valeur passe à 0 ???????
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
$file = fopen('http://script-php-livre-d-or.arizona-dream.com/version_livre_dor.txt','r');
while(!feof($file)){
$line.=fgets($file,500); // Max 500 chars
}
preg_match_all('#<data[^>]*>.*</data>#i',$line,$resultat);
foreach ($resultat as $val){
$derniere_version = $val[0];
$date_version = $val[1];
$log_version = $val[2];
}
$var_float = floatval($derniere_version);
echo gettype($var_float)."<br>";
echo $var_float."<br>"; |
Quelqu'un pourrait-il m'expliquer se mystère ????
PS : Je sais que je peux faire quelque chose comme :
Code:
$var_float = (filter_var($derniere_version, FILTER_SANITIZE_NUMBER_INT));
Mais pour des raisons de compatibilité avec les versions inférieures à la 5.2 je ne peux utiliser filter_var