Mudança de tipo das variáveis em PHP
PHP não requer que indiquemos o tipo que vai conter a variável pois é deduzida pelo valor que atribuímos à variável. Do mesmo modo, encarrega-se de atualizar automaticamente o tipo da variável cada vez que lhe atribuamos um novo valor.
Por isso, para mudar o tipo de uma variável simplesmente temos de atribuir um valor com o novo tipo.
Nota: Excluem-se neste caso a mudança de variáveis de tipo Array porque a sintaxe pode resultar ambígua ao expressar esse código, isto é, pode dar-se o caso que uma linha de código possa significar duas coisas. |
$a = “1”;
//$a é uma cadeia
$a[0] = “f”;
//¿Estamos editando o índice da cadeia ou forçando a array?
Forçagem
De todos modos, podemos forçar uma variável para que mude o tipo com a função setType().
setType($variavel,”novo_tipo”);
A função setType() atualiza o tipo de $variavel a “novo_tipo” e retorna um boleano indicando se houve êxito ou não com a conversão.
Entre “novo_tipo” temos:
- “integer”
- “double”
- “string”
- “array”
- “object”
Também podemos fazer com que uma variável se comporte como um tipo determinado forçando-a, da mesma maneira a como se faz na linguagem C.
$variavel = “23”;
$variavel = (int) $variavel;
As forçagens permitidas são:
- (int), (integer) – força a inteiro (integer)
- (real), (double), (float) – força a duplo (double)
- (string) – força a cadeia (string)
- (array) – força a array (array)
- (object) – força a objeto (object)