PHP: Conversão de String para Números
Veja neste post como o PHP identifica se o valor informado é do tipo interger ou double.
Vale lembrar que o PHP utiliza checagem de tipos dinamicamente; uma variável poderá conter valores de diferentes tipos em diferentes etapas da execução do seu código.
Com isso, não há necessidade de declaração do tipo de uma variável.
- É analisado o início da string. Se contiver um número, ele será avaliado. Senão, o valor será 0 (zero).
- O número pode conter um sinal no início ( “+ ” ou ” – “).
- Se a string contiver um ponto em sua parte numérica a ser analisada, ele será considerado, e o valor obtido será double.
- Se a string contiver um ” e ” ou ” E ” em sua parte numérica a ser analisada, o valor seguinte será considerado como expoente da base 10, e o valor obtido será double.
Exemplos:
<?php $teste = 1 + "11.6"; // $teste é float (12.6) $teste = 1 + "-1.3e3"; // $teste é float (-1299) $teste = 1 + "abc-1.3e3"; // $teste é integer (1) $teste = 1 + "abc3"; // $teste é integer (1) $teste = 1 + "10 km"; // $teste é integer (11) $teste = 4 + "10.2 km"; // $teste é float (14.2) ?> |