Спустя 23 минуты, 17 секунд (27.08.2009 - 16:08) waldicom написал(а):
На стороне клиента или сервера?
Если на сервере, то можно использовать функции ctype_digit и математический оператор > (больше).
Если на клиенте, то сердствами javascript (но потом на сервере все равно проеврятб надо).
Если на сервере, то можно использовать функции ctype_digit и математический оператор > (больше).
Если на клиенте, то сердствами javascript (но потом на сервере все равно проеврятб надо).
Спустя 1 час, 15 минут, 46 секунд (27.08.2009 - 17:24) Michael написал(а):
PHP |
$ch=(isset($_POST['chislo']))?$_POST['chislo']:0; |
Спустя 32 минуты, 20 секунд (27.08.2009 - 17:56) waldicom написал(а):
Цитата (Michael @ 27.08.2009 - 16:24) | ||
|
Это пипец...
Спустя 1 час, 18 минут, 7 секунд (27.08.2009 - 19:14) Michael написал(а):
Цитата |
Это пипец... |
Ну захватил при Ctrl+C лишнее, прям пипец

Спустя 23 минуты, 42 секунды (27.08.2009 - 19:38) waldicom написал(а):
Так это... Тут просто логики вообще никакой, причем тут Ctrl+C?
ЧТо быдет, если передать строку "string"? Как она станет числом после
ЧТо быдет, если передать строку "string"? Как она станет числом после
PHP |
$ch+=0; // Если там строка то станет числом. |
Спустя 20 минут, 25 секунд (27.08.2009 - 19:59) glock18 написал(а):
Цитата |
ЧТо быдет, если передать строку "string"? Как она станет числом после |
Может и станет даже. Только к чему такое делать? В пхп нет вариантов нормального приведения типа?
Спустя 54 минуты, 54 секунды (27.08.2009 - 20:53) waldicom написал(а):
Цитата (glock18 @ 27.08.2009 - 18:59) | ||
Может и станет даже. Только к чему такое делать? В пхп нет вариантов нормального приведения типа? |
Гм... Ты пробовал? Зачем поощерять эммм... индусский код, который к тому же еще и не работает
Спустя 28 минут, 35 секунд (27.08.2009 - 21:22) glock18 написал(а):
Цитата |
Гм... Ты пробовал? |
Не пробовал, да и не поощряю. Естественно надо использовать все для того, для чего оно есть.
Но мне всегда интересно посмотреть до чего додумается программист, не обладая информацией о нормальном решении задачи

Недавно кстати видел приведение к булеан:
PHP |
$value = !!$value; |
Это так... Делать естественно не надо. Но копилка артефактов пополняется

Спустя 19 минут, 39 секунд (27.08.2009 - 21:42) Soldier Ghost написал(а):
PHP |
if(intval($_POST['chislo']) > 10) |
Не проверял

Спустя 2 часа, 8 минут, 54 секунды (27.08.2009 - 23:51) Tigrus написал(а):
А может так?
PHP |
if(ereg("^[1-9]{1}[0-9]+$", $_POST['chislo'])) |
Спустя 7 часов, 49 минут, 53 секунды (28.08.2009 - 07:40) Michael написал(а):
Цитата (waldicom @ 27.08.2009 - 16:38) | ||
Так это... Тут просто логики вообще никакой, причем тут Ctrl+C? ЧТо быдет, если передать строку "string"? Как она станет числом после
|
В отличие от JavaScript в PHP оператор+ рассматривает свои операнды только как числа и автоматически приводит тип.
Коротенькая запись $ch+=0; - сложил с нулем, чтоб не напрягать PHP проверками типа ('xxx'>10), ('12.5yy'>10) и т.д.
В моей книжке вообще пример 2+2*"Привет"+true. Равно, чему?
И не надо заботиться intval() или floatval().
Встречал такое не раз, не пойму откуда эмоции такие.
Цитата |
причем тут Ctrl+C? |
Я думал тебя убила моя основная копи-ошибка в первом сообщении - а ты ее и не заметил

Спустя 1 час, 50 минут, 2 секунды (28.08.2009 - 09:30) waldicom написал(а):
Цитата (Michael @ 28.08.2009 - 06:40) |
В отличие от JavaScript в PHP оператор+ рассматривает свои операнды только как числа и автоматически приводит тип. |
Повторюсь: Что будет, если передать строку "vasja"? Каким она станет числом после этого?
Спустя 54 секунды (28.08.2009 - 09:31) Michael написал(а):
Она станет НУЛЕМ!!!
Спустя 27 минут, 9 секунд (28.08.2009 - 09:59) glock18 написал(а):
Остыньте, ребята.
waldicom, это штука действительно должна работать.
Michael, в этом ничего хорошего. То, что php делает неявное и неочевидное приведение типа не есть повод для его использования, особенно когда есть нормальные для этого способы.
Любая строка будет приведена к числу по ее первым символам - если они циферки, то будет соотвествующее число, иначе - 0.
Michael и другим любителям играть подобным образом с неявным приведением типов:
Такое приведение типов не вечно. Уже в 6 пхп вносят серьезное изменение - стандартные функции при ошибке будут возвращать null, а не false как раньше. Естественно, ошибки имеются ввиду: поиск (array_search) несуществующего ключа и т.п.
То есть сейчас при переходе на пхп 6, придется все соответсвующие равенства === false заменять на === null.
Подобные фокусы с приведением могут еще добавить геморроя и не имеют никаких плюсов, зато имеют минусы.
Понимать поведение пхп полезно, но пользоваться им надо осторожно.
waldicom, это штука действительно должна работать.
Michael, в этом ничего хорошего. То, что php делает неявное и неочевидное приведение типа не есть повод для его использования, особенно когда есть нормальные для этого способы.
Любая строка будет приведена к числу по ее первым символам - если они циферки, то будет соотвествующее число, иначе - 0.
Michael и другим любителям играть подобным образом с неявным приведением типов:
Такое приведение типов не вечно. Уже в 6 пхп вносят серьезное изменение - стандартные функции при ошибке будут возвращать null, а не false как раньше. Естественно, ошибки имеются ввиду: поиск (array_search) несуществующего ключа и т.п.
То есть сейчас при переходе на пхп 6, придется все соответсвующие равенства === false заменять на === null.
Подобные фокусы с приведением могут еще добавить геморроя и не имеют никаких плюсов, зато имеют минусы.
Понимать поведение пхп полезно, но пользоваться им надо осторожно.
Спустя 22 минуты, 3 секунды (28.08.2009 - 10:21) waldicom написал(а):
Цитата (Michael @ 28.08.2009 - 08:31) |
Она станет НУЛЕМ!!! |
Не надо кричать, можно порвать голосовые связки...
Если Вы пишите свои скрипты так, что когда скрипту передадут строку "apple", то скрипт отвечает: Ваше число "apple" меньше нуля, то разбегитесь и кааааааак вдарьтесь об стенку...
Цитата |
waldicom, это штука действительно должна работать. |
Хм, ну да ладно... Не ожидал... Не в том смысле, что я сомневаюсь, что такая конструкция будет работать, а в том, что ты поддерживаешь такой индусский кодинг.
Спустя 11 минут, 32 секунды (28.08.2009 - 10:32) glock18 написал(а):
Цитата |
ты поддерживаешь такой индусский кодинг |
Не поддерживаю. По-моему, я это понятно сказал.
Спустя 10 минут, 4 секунды (28.08.2009 - 10:42) waldicom написал(а):
Цитата (glock18 @ 28.08.2009 - 09:32) | ||
Не поддерживаю. По-моему, я это понятно сказал. |
У учителей есть хороший... эммм.. завет, чтоли...
Нельзя писать на доске неправильные вещи, даже если к этому последует объяснение, что это не правильно. Потому что то, что стоит на доске, ученик воспринимает как правильные вещи.
Ты же пишешь, что да, так работает, молодец, знаешь пхп...
Спустя 8 минут, 9 секунд (28.08.2009 - 10:50) glock18 написал(а):
Ок, может и так. Я действительно хотел, чтобы увидели это:
Цитата |
Michael, в этом ничего хорошего. То, что php делает неявное и неочевидное приведение типа не есть повод для его использования, особенно когда есть нормальные для этого способы. |
Цитата |
Подобные фокусы с приведением могут еще добавить геморроя и не имеют никаких плюсов, зато имеют минусы. Понимать поведение пхп полезно, но пользоваться им надо осторожно. |
Спустя 1 год, 5 месяцев, 24 дня, 3 часа, 29 минут, 51 секунда (24.02.2011 - 15:20) Guest написал(а):
is_numeric()
Спустя 4 минуты, 50 секунд (24.02.2011 - 15:25) Snus написал(а):
if((int)$chislo > 10) die('Больше десяти :)');