![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| HappyMan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 347 Регистрация: 29.7.2004 Репутация: 2 Всего: 2 |
нужна ф-ция которая возвращает является ли параметр числом или нет.
$a="123" - так же считается за число! пример:
подскажите пожалуйста, может такая уже существует? --------------------
© Mal Hack |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
is_numeric
is_int is_float is_double |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Irokez это определение ТИПА, а не ЗНАЧЕНИЯ !!
|
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
тьфу ты перепутал..
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
А регулярным выражением почему не проверить?
Только я регулярное выражение на Perl написал, просто не знаю как его записать на PHP. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
korob2001 а зачем? Это все-таки более длиннее выполняться будет...
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
Длинее чего?
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
ctype_digit хотя бы.
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
Ну такой функции я не знаю, хотя в данном случае мы имеем конкретный шаблон, от начала до конца строки, потому никаких возвратов здесь не будет и выполняться он будет очень даже быстро. А где можно посмотреть исходный код функции ctype_digit?
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
В исходняках... Фишка в том, что у ПХП уйдет время на парсинг регулярки, в то время как для ctype_digit скорее всего эта саая регулярка вшита в ядро языка. Поэтому и быстрее. |
|||
|
||||
| Рыжий |
|
|||
![]() Помешанный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1423 Регистрация: 19.9.2004 Репутация: 2 Всего: 20 |
korob2001
Пожалуйста:
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
Может тогда такой вариант подойдёт?
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
korob2001
не пойдет.. если будет строка "21вфцв" пхп преобразует её в 21 и будет тру |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
Да, в Perl то же самое, хотя может это и то, что нужно. Иногда лучше поправить пользователя, чем отфутболивать его.
Здесь проблема ещё в самом нуле, если будет в строке только 0, то он по сути является ложью, потому будет false. Можно конечно, добавить проверку на 0 в условие. Ведь с примитивами, наверняка PHP работает быстрее. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Song |
|
||||||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
$a - это может быть и int и float и array и всё в одной переменной, смотря чего ей присвоишь. Так что это проверка значения. Добавлено @ 22:46
Для 0 есть isset.
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
||||||
|
|||||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Это - проверка типа. Для значения is_double не годиться, т.к. при $a = "1234.34"; выдаст false.
isset проверяет только "есть ли переменная". На ноль это уж empty. |
||||
|
|||||
![]()
|
| Правила форума "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. |