- 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 != ''));
}
Индусская проверка на то, состоит ли строка только из цифр
guest 03.08.2009 16:07 # 0
guest 03.08.2009 21:23 # +1
Это ж надо было так извратиться! я бы до такого не додумался :)
guest 03.08.2009 22:12 # 0
мне вот интересно как это вообще работает:) и что курил аффтар перед тем, как такое придумать! )
guest 04.08.2009 19:39 # +2
addcslashes() добавляет обратный слэш перед каждым из перечисленных символов, в данном случае - цифр. Если строка состоит только из цифр, обратный слэш будет проставлен перед каждым символом строки, и её длина удвоится, на что и сработает первая проверка. Вторая проверка ($a != '') нужна, чтобы исключить ложное срабатывание, если строка пустая.
Алсо, ctype_digit() делает то же самое, что и данный говнокод.
guest 06.08.2009 20:23 # 0
пиздец.. а про существование функции is_numeric() все успели забыть? оригинально
80InchNail 14.08.2009 09:56 # −1
API всегда учатся по мере использования, и далеко не всегда знаешь о существовании функции, если только начал работать с библиотекой (включая стандартные библиотеки для разных языков).
А избыточный код вполне может быть понятным, красивым и все такое.
П.С., я не об этом коде.
guesto 03.06.2016 14:04 # +2
guest 07.08.2009 12:00 # +1
guest 08.08.2009 13:09 # 0
мозговыносящее решение
guest 11.08.2009 03:11 # 0
*нервно курит в сторонке...
5hr4m.work 12.08.2009 16:19 # 0
:))
inkanus-gray 03.06.2016 12:19 # 0
105_306330_ru 24.08.2021 20:46 # 0