У меня есть функция PHP, которую я использую для работы с числами. Цель состоит в том, чтобы очистить число и, при необходимости, преобразовать значения NULL в ноль. Я начал использовать его при подготовке к sql, но теперь используется во многих местах. Вот оно:
Код: Выделить всё
function clean_num ($num, $null_to_zero = true) {
$num = preg_replace("/[^-0-9.0-9$]/","",$num);
if (strlen($num) == 0)
$num = ($null_to_zero) ? 0 : null;
else if (strlen($num) == 1 && ($num == '-' || $num == '.'))
$num = ($null_to_zero) ? 0 : null;
return $num;
}
Есть ли у кого-нибудь идеи, как сделать это быстрее и лучше? Это работает, регулярное выражение достаточно простое и должно охватывать все нужные мне случаи, но... Другое регулярное выражение может делать то же самое без остального мусора.
Подробнее здесь:
https://stackoverflow.com/questions/266 ... s-and-dots