PHP tem um certo número de funções embutidas que podem ser utilizadas para testar o valor de uma variável. Todas essas funções retornam um valor booleano.

Isset

A função isset retorna true se a variável foi atribuído um valor diferente de nulo.

isset($a); // false
$a = 10;
isset($a); // true
$a = null;
isset($a); // false

Referência: http://br2.php.net/manual/pt_BR/function.isset.php

Empty

As verificações com a função empty verifica se a variável especificada tem um valor vazio – como null, 0, false ou uma cadeia vazia – e retorna true se for esse o caso. Ele também retorna true se a variável não existe.

empty($b); // true
$b = false;
empty($b); // true

Referência: http://br2.php.net/manual/pt_BR/function.empty.php

Is_null

A função is_null pode ser usada para testar se uma variável é definido como nulo.

$c = null;
is_null($c); // true

$c = 10;
is_null($c); // false

Se a variável não existir is_null também retornará true, mas com um aviso de erro, uma vez que não deve ser usado com variáveis ​​não inicializadas.

is_null($d); // true (aviso(erro notice) variável indefinida)

Referência: http://br2.php.net/manual/pt_BR/function.is-null.php

Unset

Outra função da linguagem que é útil conhecer é a unset, o que exclui uma variável do escopo atual.

$e = 10;
unset($e); // delete $e

As referências podem ser apagadas com unset sem destruir o conteúdo da variável.

$var = 'my value';
$ref = &$var;

unset($ref); // apaga somente $ref

Quando uma variável global é disponibilizada em uma função com a palavra-chave global, esse código realmente cria uma referência local para a variável global na matriz $GLOBALS. Por este motivo, a tentativa de retirar uma variável global em uma função só vai suprimir a referência local. Para eliminar a variável global a partir de um escopo a função unset tem de ser feita diretamente no array $GLOBALS.

function myUnset()
{
// Cria $o a referencia $GLOBALS['o']
global $o;
// Retira a variável de referência
unset($o);
// Remove a variável global
unset($GLOBALS['o']);
}

Destruir uma variável é um pouco diferente do que a defini-la como uma variável null. Quando uma variável é definida como null a variável ainda existe, mas o conteúdo da variável que detinha é imediatamente liberada. Em contraste, desconfigurar uma variável não exclui a variável, a memória ainda será considerado em uso até o coletor de lixo limpá-lo. Deixando os problemas de desempenho de lado, é recomendado usar unset, pois faz com que a intenção do código seja mais clara.

$var = null; // free memory
unset($var); // delete variable

Tenha em mente que na maioria das vezes não é necessário liberar manualmente as variáveis ​​não definidas, o coletor de lixo PHP irá apagar automaticamente as variáveis ​​quando saem do escopo. No entanto, se um servidor executa tarefas intensas de memória desativar essas variáveis ​​manualmente vai permitir que o servidor tenha um número maior de solicitações simultâneas antes de ficar sem memória.

Referência: http://br2.php.net/manual/pt_BR/function.unset.php

Determinar os tipos

PHP tem várias funções úteis para determinar qual o tipo de uma variável. Estas funções podem ser vistas na tabela abaixo.

Nome

Descrição

is_array()Verdadeiro se a variável é um array.
is_bool()Verdadeiro se a variável é um bool.
is_callable()Verdadeiro se a variável pode ser chamada como uma função.
is_float(), is_double(), is_real()Verdadeiro se a variável é um float.
is_int(), is_integer(), is_long()Verdadeiro se a variável é um número inteiro.
is_null()Verdadeiro se a variável é definida como null.
is_numeric()Verdadeiro se a variável é um número ou seqüência numérica.
is_scalar()Verdadeiro se variável é um int, float, string ou bool.
is_object()Verdadeiro se a variável é um objeto.
is_resource()Verdadeiro se a variável é um recurso.
is_string()Verdadeiro se variável é uma string.

Para dar um exemplo, a função is_numeric retornará true se o argumento contém um número ou um array que pode ser avaliada para um número.

is_numeric(10.5); // true (float)
is_numeric('33'); // true (numeric string)
is_numeric('text'); // false (non-numeric string)

Informações das variáveis

PHP tem três funções embutidas para recuperar informações sobre variáveis: print_r, var_dump e var_export. A função print_r exibe o valor de uma variável de forma legível. Ele é útil para fins de depuração.

$a = array('one', 'two', 'three');
print_r($a);

O código acima irá produzir a seguinte saída.

Array ( [0] => one [1] => two [2] => three )

Semelhante a print_r é var_dump, que para além de valores também mostra tipos e tamanhos de dados. Chamando var_dump ($ a) vai mostrar essa saída.

array(3) {
[0]=> string(3) "one"
[1]=> string(3) "two"
[2]=> string(5) "three"
}

Finalmente, existe a função var_export, imprime a os dados da variável num estilo que pode ser usado como código PHP. A saída para var_export ($ a) pode ser visto abaixo. Observe a vírgula à direita após o último elemento que é permitido.

array ( 0 => 'one', 1 => 'two', 2 => 'three', )

A função var_export, junto com print_r, aceita um segundo argumento booleano opcional. Quando definido como true, a função retornará a saída, ao invez de imprimi-lo. Isto dá var_export outras utilizações, tais como combinado com a função eval da linguagem. Esta construção tem um argumento de cadeia e avaliando-a como código PHP.

eval('$b = ' . var_export($a, true) . ';');

Sobre a função eval

A capacidade de executar qualquer código com eval é um poderoso recurso que deve ser usado com cuidado. Não deve ser usado para executar quaisquer dados do usuário fornecido, pelo menos não sem validação adequada, pois isso representa um risco de segurança. Outra razão pela qual o uso de eval é desencorajado porque semelhante goto torna a execução de código mais difícil de seguir.

Sugestões ou Questões, comente!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.