+1

O tipo Integer

criado por Rubens Takiguti Ribeiro em 28/11/2009 9:20pm
Comparação com Inteiro

Um inteiro, assim como qualquer outro tipo, pode ser utilizado em uma condição. O valor zero é considerado falso, enquanto qualquer outro valor diferente de zero é considerado verdadeiro.

// Condicao satisfeita
if (1) {
    echo 'verdadeiro';
}

// Condicao satisfeita
if (-8) {
    echo 'verdadeiro';
}

// Condicao nao satisfeita
if (0) {
    echo 'falso';
}

Comparar com Bool

Quando um valor inteiro é comparado com um valor booleano, o valor inteiro é convertido para booleano e a condição é testada.

$b = 1 == true;  // true == true -> true
$b = 2 == true;  // true == true -> true
$b = -3 == true; // true == true -> true
$b = 0 == true;  // false == true -> false


$b = 1 == false;  // true == false -> false
$b = 2 == false;  // true == false -> false
$b = -3 == false; // true == false -> false
$b = 0 == false;  // false == false -> true

Comparar com Float

Quando um inteiro é comparando com um número real, ele é convertido para real e a condição é testada.

Mas cuidado com a perda de precisão que ocorre com números reais!

Comparar com String

Quando um inteiro é comparado com uma string é complicado. Pode-se entender que o funcionamento é: o inteiro é convertido para flot, a string é convertida para float, e a condição é testada.

$b = 1 == '1';     // 1.0 == 1.0 -> true
$b = 1 == 'a';     // 1.0 == 0.0 -> false
$b = 1 == '1.0';   // 1.0 == 1.0 -> true
$b = 1 == '1.1';   // 1.0 == 1.1 -> false
$b = 1 == '';      // 1.0 == 0.0 -> false
$b = 1 == '10e-1'; // 1.0 == 1.0 -> true***

$b = 0 == '1';   // 0.0 == 1.0 -> false
$b = 0 == '0';   // 0.0 == 0.0 -> true
$b = 0 == 'a';   // 0.0 == 0.0 -> true
$b = 0 == '0.0'; // 0.0 == 0.0 -> true
$b = 0 == '0.1'; // 0.0 == 0.1 -> false
$b = 0 == '';    // 0.0 == 0.0 -> true

Lembre-se de que existe o operador idêndico (===), que testa se um valor tem o mesmo tipo e o mesmo valor que outro.

*** A conversão do "10e-1" para 1.0 pode ser discutida em um artigo sobre float.

Comentários:

Nenhum comentário foi enviado ainda.

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)