Bu kadar eski bir soru olduğu için burada filter_var'dan bahsedilmediğine şaşırdım ...
PHP, sanitizasyon filtreleri kullanarak bunu yapmak için yerleşik bir yönteme sahiptir . Özellikle, bu durumda kullanılacak FILTER_SANITIZE_NUMBER_FLOATolan FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSANDbayraklarla. Şöyle ki:
$numeric_filtered = filter_var("AR3,373.31", FILTER_SANITIZE_NUMBER_FLOAT,
FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND);
echo $numeric_filtered; // Will print "3,373.31"
PHP'de yerleşik olduğu için PHP'nin şu anki kitaplıklarıyla (kelimenin tam anlamıyla nanosaniye de olsa) normal ifadeyi kullanmaktan biraz daha hızlı olduğunu belirtmek faydalı olabilir .