Curso de PHP – Conversão de Tipos de Dados
Convertendo tipos no PHP
No PHP podemos converter uma variável de um tipo em outro tipo de três formas distintas:
- Automaticamente
- Explicitamente, com o uso de tapeçaria
- Usando uma função chamada de settype()
O PHP pode converter tipos automaticamente em alguns casos, quando ocorrem operações específicas entre dois valores que possuam tipos diferentes.
Para que façamos a conversão de tipos explicitamente usaremos os comandos de cast, de acordo com a tabela a seguir:
Operador | Tipo |
int ou integer | inteiro |
real, double ou float | real com ponto flutuante |
string | string (cadeia de caracteres) |
array | vetor |
object | objeto |
Veja o exemplo a seguir, onde declaramos uma variável do tipo ponto flutuante de nome var1 e depois atribuímos seu conteúdo a uma variável de nome var2, do tipo inteiro. Vamos converter explicitamente o tipo do dado:
Podemos também usar a função settype() para efetuar a conversão de tipos no PHP. Essa função permite converter valores nos tipos integer, double, string, array ou object. Sua sintaxe é a seguinte:
settype(variável,”novo_tipo”);
No exemplo a seguir declaramos uma variável do tipo ponto flutuante e a convertemos para inteiro com a função settype():
TESTANDO O TIPO DE UMA VARIÁVEL
Podemos testar o tipo de uma variável usando as funções a seguir:
- is_int()
- is_integer()
- is_real()
- is_long()
- is_float()
- is_string()
- is_array()
- is_object()
Sintaxe:
is_TIPO($variável)
Essas funções retornam o valor verdadeiro se a variável testada for do tipo indicado, e falso em caso contrário.
Vejamos um exemplo. Vamos criar uma variável de nome $num e atribuir-lhe um valor de ponto flutuante. Depois, testaremos para ver se o valor contido na variável é do tipo inteiro com a função is_int():
Usamos um condicional if para realizar o teste. Se a variável $num for do tipo inteiro a função is_int() retornará verdadeiro e então a mensagem Número inteiro será exibida; caso contrário, a função retornará falso e a mensagem O valor da variável não é um número inteiro será exibida.
Resultado:
Escreva um comentário