Il y a une fonction toute prête qui s'appelle number_format(float $number,int[optional] $num_decimal_places, string[optional] $dec_seperator, string $thousands_seperator)
$dec_separator : Le caractère utilisé pour séparer les chiffres entiers des décimaux (en français la virgule)
$thousands_separator : Le caractère utilisé pour séparer les milliers (en français l'espace)
En voici un exemple :
$nombre = 1234.56;
// Notation anglaise (par défaut)
$english_format_number = number_format($nombre);
// 1,235
// Notation française
$nombre_format_francais = number_format($nombre, 2, ',', ' ');
// 1 234,56
$nombre = 1234.5678;
// Notation anglaise sans séparateur des centaines
$english_format_number = number_format($nombre, 2, '.', '');
// 1234.57