Diferenças entre atribuição (=), igualdade (==) e identidade (===) entre variáveis em PHP



Neste tutorial vamos mostrar as diferenças entre atribuição (=), igualdade (==) e identidade (===) entre as variáveis em PHP.

Variável:  Uma variável é um recurso das linguagens de programação utilizado para armazenar valores em memória. Assim, sempre que precisarmos desse valor, basta referenciarmos essa variável e obteremos o dado desejado.

Variáveis PHP: Como a linguagem é fracamente tipada, não é necessário informar o tipo de dado na declaração.  Para definir uma variável em PHP basta escrever o símbolo $ seguido do nome desejado. O tipo da variável será determinado conforme seu uso, ou seja, caso receba uma string, será do tipo string, caso receba um número inteiro, será uma variável do tipo inteiro, etc.

Tipos de dados no PHP:

O PHP suporta oito tipos de dados primitivos divididos em três grupos:

  1. Quatro tipos básicos, os dados escalares
    • integer
    • float (número de ponto flutuante, ou também double)
    • string
    • boolean
  2. Dois tipos compostos
    • array
    • object
  3. Dois tipos especiais:
    • resource
    • NULL

1 - Atribuição de uma variável ( = )

1.1. O comando de atribuição (=) é uma declaração básica que define ou redefine o valor armazenado no local de armazenamento indicado por um nome de variável.

Exemplos:

$x = 5; // atribuição que define a variável $x com valor do tipo integer (inteiro)

$y = "5"; // atribuição que define a variável $x com valor do tipo string (texto)

$z = 5.23; // atribuição que define a variável $x com valor do tipo float ou double (decimal)

1.2. Para identificar o tipo de dado de uma variável podemos utilizar a função gettype().

 1.2.1. Osvalores retornados pela função são: "boolean", "integer", "double" (por razões históricas "double" é é retornado no caso de float, e não simplesmente "float"), "string", "array", "object, "resource, "NULL" e "unknown type"

Veja o exemplo abaixo onde identificamos algumas variáveis:

$x = 5; // igual (=) como atribuição da variável $x (numérica inteira)
$y = "5"; // igual (=) como atribuição da variável $y (string)
$z = 5.3; // igual (=)como atribuição da variável $z (float ou double)
$frutas = array("banana", "maçã", "goiaba", "pera"); // (array)
$condition = true; // (boolean)
$nome = NULL; // (NULL)

echo '$x = '.$x.' (Tipo: '.gettype($x).')';
echo  '<br /><br />';
echo '$y = '.$y.' (Tipo: '.gettype($y).')';
echo  '<br /><br />';
echo '$z = '.$z.' (Tipo: '.gettype($z).')';
echo  '<br /><br />';
echo '$frutas = '.$frutas[0].' (Tipo: '.gettype($frutas).')';
echo  '<br /><br />';
echo '$condition = '.$condition.' (Tipo: '.gettype($condition).')';
echo  '<br /><br />';
echo '$nome = '.$nome.' (Tipo: '.gettype($condition).')';

😀 Teste o exemplo no link: Squids Editor - função gettype() . Clique no botão [Run] para ver o resultado.

 1.3. Para validar uma variável podemos utilizar as seguintes funções:

  • is_array = Verifica se uma variável é um array.
  • is_bool = Verifica se uma variável é um boeano.
  • is_callable = Verifica se o conteúdo da variável pode ser chamado como função.
  • is_double = Mesma coisa que is_float.
  • is_float = Verifica se a variável é do tipo float.
  • is_int = Verifica se a variável é do tipo inteiro.
  • is_integer = Mesma coisa que is_int.
  • is_long = Mesma coisa que is_int.
  • is_null = Informa se a variável é NULL.
  • is_numeric = Verifica se a variável é um numéro ou uma string numérica.
  • is_object = Verifica se a variável é um objeto.
  • is_real = Mesma coisa que is_float.
  • is_resource = Verifica se a variável é um resource.
  • is_scalar = Verifica se é uma váriavel escalar.
  • is_string = Verifica se a variável é do tipo string.

Veja o exemplo abaixo:

<?php
$var = "Aracaju";
$number = 5;
    
if(is_string($var)) {
    echo "A variável ".$var." é uma string";
} else {
    echo 'A variável '.$var.' não é uma string';
}

echo '<br /> <br />';

if(is_string($number)) {
    echo "A variável ".$number." é uma string";
} else {
    echo 'A variável '.$number.' não é uma string';;
}

😀 Teste o exemplo no link: Squids Editor - validação de variáveis. Clique no botão [Run] para ver o resultado.

 2 - Igualdade entre valores ou variáveis ( == )

2.1. O operador de comparação igual (==) permite que você compare dois valores, retornando verdadeiro (true) se iguais e falso (false) se diferentes, independentemente do tipo de dados dos valores relacionados. Portanto, 5 é igual a "5", mesmo sendo o primeiro tipo integer e o segundo string.

Veja o exemplo abaixo:

<?php
$x = 5; // igual (=) como atribuição da variável $x (numérica inteira)
$y ="5"; // igual (=) como atribuição da variável $y (string)

$tipox = gettype($x);
$tipoy = gettype($y);

echo '$x = '.$x.' (Tipo: '.$tipox.')';
echo  '<br /><br />';
echo '$y = '.$y.' (Tipo: '.$tipoy.')';
echo  '<br /><br />';

if ($x == $y) { // verifica a igualdade
    echo '$x é igual a $y';
} else {
    echo '$x é igual a $y';    
}

😀 Teste o exemplo no link: Squids Editor - igualdade entre valores. Clique no botão [Run] para ver o resultado.

3 - Identidade entre valores ou variáveis ( === )

3.1. O operador de comparação idêntico (===) permite que você compare dois valores, retornando verdadeiro (true) se forem iguais e do mesmo tipo. Portanto, 5 é não é idêntico a "5", pois o primeiro valor é do tipo integer e o segundo string.

Veja o exemplo abaixo:

<?php
$x = 5; // igual (=) como atribuição da variável $x (numérica inteira)
$y ="5"; // igual (=) como atribuição da variável $y (string)

$tipox = gettype($x);
$tipoy = gettype($y);

echo '$x = '.$x.' (Tipo: '.$tipox.')';
echo  '<br /><br />';
echo '$y = '.$y.' (Tipo: '.$tipoy.')';
echo  '<br /><br />';

if ($x == $y) { // verifica a igualdade
    echo '$x é igual a $y';
} else {
    echo '$x é igual a $y';    
}

echo  '<br /><br />';

if ($x === $y) { //verifica a identidade
    echo '$x é idêntico a $y';
} else {
    echo '$x NÃO é idêntico a $y';    
}

😀 Teste o exemplo no link: Squids Editor - identidade entre valores. Clique no botão [Run] para ver o resultado.

Documentação Oficial

1. [Documentação PHP - função gettype()] » Sobre a função gettype() - identifica o tipo de uma variável".

2. [Documentação PHP - operadores de comparação] » Operadores de comparação em PHP.

O anúncio abaixo ajuda manter o Portal Visual Dicas

Comentários

×

Infomações do site / SEO