1
resposta

Implict Conversion

Olá, tudo bem?

Durante a aula, quando excuta o comando com a $chave 1.5, ele exibe a letra c, porém adicionada com essa mensagem antecedendo. " PHP Deprecated: Implicit conversion from float 1.5 to int loses precision in D:\Dados\Documents\aulaphp\PHPcurso2\tipos-chaves.php on line 6

Deprecated: Implicit conversion from float 1.5 to int loses precision in D:\Dados\Documents\aulaphp\PHPcurso2\tipos-chaves.php on line 6 " Existe alguma diferença para ele exibir essa mensagem, ou esta imprecisão sempre acontece?

obs: também testei copiando o código fornecido na descrição na aula, e a mensagem se repete.

1 resposta

Oi, Leonardo, tudo bem?

Criado a partir do PHP 8.1, esse é um aviso de descontinuação, emitido quando um valor float é convertido para um valor int implicitamente e perde o valor fracionário nesse processo. Este aviso de descontinuação não é emitido quando um valor float é convertido explicitamente em um inteiro.

Converter um número float em um número inteiro geralmente envolve a perda do valor fracionário do número float. O PHP está melhorando constantemente as regras de coerção de tipo dinâmico para serem mais previsíveis e intuitivas, com isso, criou esse aviso e muitos outros.

Espero ter ajudado.

Abraços e bons estudos!