Même si ça va probablement marcher, intval
semble être une meilleure solution. http://php.net/manual/en/function.intval.php . Votre intention sera probablement plus évidente pour quelqu'un d'autre qui lit votre code.
Si vous voulez vérifier si une valeur est numérique avant de la convertir en un int, utilisez is_numeric
( http://php.net/manual/en/function.is-numeric.php ). Il vérifiera les chaînes de caractères numériques ainsi que les entiers. Par exemple, si un nombre revient d'un formulaire de saisie de texte via AJAX, il peut s'agir d'une chaîne. Dans ce cas, is_int
retournerait faux, mais is_numeric
retournerait vrai.
EDIT
Maintenant que je sais que vous utilisez DECIMAL pour le type de colonne MySQL, vous pouvez faire quelque chose comme ceci :
function getItem($pValue)
{
if (!is_numeric($pValue))
{
return false;
}
$Query = sprintf
(
'SELECT * FROM %s WHERE %s = %.2f',
'TableName',
'Price',
$pValue
);
// Do something with $Query
}