Alguns programadores acreditam que o PHP não define o tipo para as variáveis ou que o PHP não possui tipo de dados.
Na realidade, a linguagem PHP realiza uma checagem dinâmica de tipos, por isso, uma única variável pode receber valores de tipos diferentes em momentos diferentes da execução do script. Por esse motivo não é necessário declarar as variáveis e o seu tipo (inteiro, string, etc).
O interpretador PHP é responsável por detectar o tipo de cada variável através da verificação do conteúdo durante a execução do programa.
Apesar dessa interpretação automática, o programador pode realizar a conversão de valores de um tipo para outro desejado.
Essa conversão pode ser realizada de 03 formas:
- automaticamente (cast automático) – considerando uma operação realizada entre dois valores de tipos diferentes, o PHP faz a conversão do conteúdo de um deles automaticamente para adequar o resultado.
- explicitamente pelo usuário, utilizando o typecast – neste caso, deve mencionar o tipo de dado a ser convertido.
exemplo: Vamos supor que a variável $numero seja do tipo float, e que o programador gostaria de convertê-lo para inteiro. Neste caso, ele poderá fazer da seguinte maneira: (int)numero;
- utilizando a função settype() – a função settype() faz a conversão da variável no tipo especificado, que pode ser integer, double, string, array ou object.
exemplo: $numero é uma variável do tipo integer. Para convertê-lo em double, basta fazer o seguinte: settype($numero, double);