A transformação de tipos em PHP pode ser feita das
seguintes maneiras:
Coerções
Quando ocorrem determinadas operações (“+”, por
exemplo) entre dois valores de tipos diferentes, o PHP converte o
valor de um deles automaticamente (coerção). É interessante notar
que se o operando for uma variável, seu valor não será alterado.
O tipo para o qual os valores dos operandos serão
convertidos é determinado da seguinte forma: Se um dos operandos for
float,
o outro será convertido para
float, senão, se um deles for integer,
o outro será convertido para integer.
Exemplo:
$php
= “1”; // $php é a string “1”
$php
= $php + 1; // $php é o integer 2
$php
= $php + 3.7;// $php é o double 5.7
$php
= 1 + 1.5 // $php é o double 2.5
Como podemos notar, o PHP converte string
para integer
ou double
mantendo o valor. O sistema utilizado pelo PHP para converter de
strings para números
é o seguinte:
- É 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
= 1 + “10.5”; // $php == 11.5
$php
= 1 + “-1.3e3”; // $php == -1299
$php
= 1 + “teste10.5”; // $php == 1
$php
= 1 + “10testes”; // $php == 11
$php
= 1 + " 10testes"; // $php == 11
$php
= 1 + "+ 10testes"; // $php == 1
Nenhum comentário:
Postar um comentário