![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
http://www.php.ru/manual/function.intval.html
как отодвинуть максимальный предел? есть ли какой аналог? |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Поставить 64 битную ось. Из стандартных средств вроде нет, можно попробовать повторить поведение с помощью строковых/рв функций. Добавлено через 1 минуту и 55 секунд
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
где вы такой сайт нашли? Предпочитаете читать на русском г*вносайте по английски, нежели на официальном сайте документацию на русском языке? Ну тогда писать свою функцию, правила преобразований типов расписаны в документации. Это сообщение отредактировал(а) enof - 7.5.2009, 17:17 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
а смысл? получить переполнение в переменной типа int? если оно не умещается, значит, не умещается почему бы в таком случае не подключить GMP? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
почему переполнение? тогда используем следующий тип bigint. совершенно не серьёзно, у меня у бланков номера такие, в базе пределы расширил, а здесь оказывается не могу легко и просто обрубать пользовательские шалости. сейчас в итоге сношу регулярку всё, что не 0-9 предпочитаю вникать в тонкости дела, а не заниматься поиском нюансов в невеликом и не могучем цеж чисто эффективность труда падает
ну это-то понятно, что замену катать придётся что-то мне кажется это будет сродни вызову ударной авиации против тараканов |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
bars80080, а с чего потребовалось такое? Может есть способы по другому решить задачу?
Добавлено через 1 минуту и 20 секунд bcmath -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
бланк билета, у него есть номер с числами превосходящими этот диапазон. номера очень важны, так как на них строится система запрещения и раздачи, а соответственно и отчётности. у них даже название такое: БСО - бланк строгой отчётности. когда пользователь отправляет форму с данными билета, то проверяется, приписан ли этот бланк к нему. самое простое очистить номер от любых вкраплений - intval, далее в проверку и если такой не записан на агента, то ему показывается кукиш (это не дружелюбная система и исправлять чужие огрехи она не намерена, тип ошибки я им отдаю, а далее пусть контроллируют себя сами) а фишка в том, что весь массив полей у меня пропускался через соответствующий обработчик, в котором в переменную возвращалось чистое значение согласно формату. по формату чистого числа у меня стояла простейшая обработка: intval. а что ещё было нужно? оказывается простота оказалась не такой простой |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
А номера бланков сменить нельзя?
Уж лучше бы они были, например, такие:
Где N — любая буква, где 0 — любая цифра. Цифр всего 8, а вариантов туева хуча. От лишнего геморроя бы избавился. Ну и конечно, да, если есть регулярка что ты вообще с invtal мучаешься? Это сообщение отредактировал(а) gta4kv - 7.5.2009, 20:14 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
да, я как-то не подумал. мне это кажется даже более удобным вариантом |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
у меня где-то там тримируется по-умолчанию, а если внутри - то фиг знает, может так положено или он вообще имел другое ввиду. в моём случае лучше перебдеть, чем не до бдеть. вдруг система услужливо подставит другой бланк, а потом статистика не сойдётся? так, после того как они заявляются ко мне, "де ошибки у тебя", то они уходят с созерцанием своих кривых рук, а я вежливо киваю, "ну не огорчайтесь, с кем не бывает". к тому же у меня хватает гемора с отчётностью я спросил: что есть номер? число? ну и ладно, получайте жёсткое число. зато поиск хорошо работает. и gta4kv, отчёты хорошо группируются. ведь как бы тогда пришлось выписывать отчёт, где нужно было бы составить наборы типа QWE-6789456100-ASD - QWE-6789456120-ASD QWE-6789456130-ASD - QWE-6789456135-ASD QWE-6789456140-ASD - QWE-6789456150-ASD сколько бы дополнительных действий пришлось бы совершить |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
йопт, я пока не телепат, а тока учусь, и задачу я твою не разгадал =)
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Если на цифры проверить - есть функция ctype_digit Всяко быстрее, чем регулярка.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
да, но она работает строго к типу. по сути дела мне надо выкидывать всякие типа 0x789, 345.45, 3е4, но не '567'
|
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Процитирую пример из доки:
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |