Skip to content

Instantly share code, notes, and snippets.

@andersonfraga
Created September 15, 2011 20:38
Show Gist options
  • Save andersonfraga/1220404 to your computer and use it in GitHub Desktop.
Save andersonfraga/1220404 to your computer and use it in GitHub Desktop.
PHP e suas comparações
<?php
$x1 = (float) "111111111111111111111111111111111111111111111111111111112";
$x2 = (float) "111111111111111111111111111111111111111111111111111111111";
var_dump($x1);
var_dump($x2);
if($x1 == $x2){
echo "iguais";
}
else{
echo "diferentes";
}
/*
float 1.11111111111E+56
float 1.11111111111E+56
iguais
*/
<?php
$x1 = (float) "111111111111111111111111111111111111111111111111111111112";
$x2 = (float) "111111111111111111111111111111111111111111111111111111111";
var_dump($x1);
var_dump($x2);
if(bccomp($x1, $x2)) {
echo "iguais";
}
else{
echo "diferentes";
}
/*
float 1.11111111111E+56
float 1.11111111111E+56
diferentes
*/
<?php
$x1 = "111111111111111111111111111111111111111111111111111111112";
$x2 = "111111111111111111111111111111111111111111111111111111111";
var_dump($x1);
var_dump($x2);
if($x1 == $x2) {
echo "iguais";
}
else{
echo "diferentes";
}
/*
string '111111111111111111111111111111111111111111111111111111112' (length=57)
string '111111111111111111111111111111111111111111111111111111111' (length=57)
iguais
*/
<?php
$x1 = "111111111111111111111111111111111111111111111111111111112";
$x2 = "111111111111111111111111111111111111111111111111111111111";
var_dump($x1);
var_dump($x2);
if(similar_text($x1, $x2) === 0) {
echo "iguais";
}
else{
echo "diferentes";
}
/*
string '111111111111111111111111111111111111111111111111111111112' (length=57)
string '111111111111111111111111111111111111111111111111111111111' (length=57)
diferentes
*/
@augustohp
Copy link

@felipernb: Verdade. Assim como a bcmath! Apesar de sempre ser precisa não é necessária, é só o desenvolvedor ter cuidado (como nunca deveria ter deixado de ter) com os tipos de dado que esa manipulando.

Não é porque o PHP possui type-cast dinâmico que você deve ignorar os tipos de dado.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment