- 1
- 2
- 3
- 4
function iz_cifr($a)
{
return ((strlen(addcslashes($a, '0123456789')) == 2 * strlen($a)) && ($a != ''));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+149.7
function iz_cifr($a)
{
return ((strlen(addcslashes($a, '0123456789')) == 2 * strlen($a)) && ($a != ''));
}
Индусская проверка на то, состоит ли строка только из цифр
Это ж надо было так извратиться! я бы до такого не додумался :)
мне вот интересно как это вообще работает:) и что курил аффтар перед тем, как такое придумать! )
addcslashes() добавляет обратный слэш перед каждым из перечисленных символов, в данном случае - цифр. Если строка состоит только из цифр, обратный слэш будет проставлен перед каждым символом строки, и её длина удвоится, на что и сработает первая проверка. Вторая проверка ($a != '') нужна, чтобы исключить ложное срабатывание, если строка пустая.
Алсо, ctype_digit() делает то же самое, что и данный говнокод.
пиздец.. а про существование функции is_numeric() все успели забыть? оригинально
API всегда учатся по мере использования, и далеко не всегда знаешь о существовании функции, если только начал работать с библиотекой (включая стандартные библиотеки для разных языков).
А избыточный код вполне может быть понятным, красивым и все такое.
П.С., я не об этом коде.
мозговыносящее решение
*нервно курит в сторонке...
:))