Como converter string em número no PHP? Todas as formas e armadilhas
Olá a todos! Sou um desenvolvedor PHP iniciante e me deparei com o problema de converter strings em números. Tenho um formulário no site onde os usuários inserem o preço de um produto. Eu recebo o valor de $_POST, e ele vem como string, por exemplo "1500" ou "1999.99". Preciso realizar operações matemáticas: multiplicar pela quantidade, adicionar IVA, comparar com o limite de frete grátis.
Tentei simplesmente somar strings, mas obtive concatenação em vez de soma. Por exemplo:
```php
$price = $_POST['price']; // "1500"
$quantity = "3";
$total = $price + $quantity; // Espero 4500, mas algo deu errado?
```
Na verdade, o PHP às vezes converte tipos automaticamente, mas não tenho certeza de quando isso funciona corretamente e quando pode quebrar. Já ouvi falar das funções intval(), floatval() e de (int) e (float). Mas qual é a forma mais correta? E o que fazer se o usuário digitar "1,500" com vírgula ou " 1500 " com espaços? Ou se a string não for um número, como "abc"?
Dicas de como converter strings de forma confiável.