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)
?>

Deixe uma resposta

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