|
|
|
|
|
для: Саня
(11.02.2008 в 01:30)
| | Как подсказывает небольшой опыт,эта функция очень полезная. Вот пример:
$var=1.53;
$var=(int)$var;
echo $var;
//возвратит 1
//но если нужно проверить,цифры ли там,
//лучше использовать примерно такое:
$evil='1.58=я злой код,который хочет заныкаться';
if (is_numeric($evil))
echo 'Молодец,все работает!';
//и далее код
else {
echo 'Нужны цифры! Ошибка!';
exit;
}
|
| |
|
|
|
|
|
|
|
для: Lstasss
(11.02.2008 в 01:00)
| | > to: Unkind (10.02.2008 в 23:03)
> а не быстрее ли просто
Проверьте. Я таким вопросом никогда не задавался. | |
|
|
|
|
|
|
|
для: kras-nastya
(10.02.2008 в 22:58)
| | > Т.е. если переменная и так была int - то она не поменяется,
> а если была чем-то другим, то преобразуется, так?
Именно так.
Такая форма (каноническая называется) приведения типа пришла от языка си. В си можно двумя способами изменить тип переменной: var1 = (int)var2; и var1 = int(var2);. Так же и в php: $var1 = (int)$var2; и $var1 = intval($var2); (только непонятно почему функциональная форма приведения типа в php выглядит по-другому).
P. S.
Все данные, передающиеся в скрипт методами post, get или cookies имеют строковый тип, даже если данные содержат только цифры. Так что стоит всегда проверять данные, пришедшие от пользователя. | |
|
|
|
|
|
|
|
для: Lstasss
(11.02.2008 в 01:00)
| | ну это уж совсем какой-то извращенный способ. для этого собственно и существует (int) | |
|
|
|
|
|
|
|
для: Unkind
(10.02.2008 в 23:03)
| | а не быстрее ли просто или ? | |
|
|
|
|
|
|
|
для: kras-nastya
(10.02.2008 в 22:58)
| | > А это случайно не используется для защиты БД mysql от хакеров?
Да. Как правило, в SQL-запросе числа не берутся в кавычки и апострофы, поэтому экспейпирование не подходит. Нужно приводить к численному типу принудительно. | |
|
|
|
|
|
|
|
для: afdm
(10.02.2008 в 22:56)
| | Т.е. если переменная и так была int - то она не поменяется, а если была чем-то другим, то преобразуется, так?
А это случайно не используется для защиты БД mysql от хакеров? в смысле запросы пользователей к базе так обрабатывать? (просто у меня знакомый программист на мой сайт поставил, а я сейчас у него спросить не могу...) | |
|
|
|
|
|
|
|
для: kras-nastya
(10.02.2008 в 22:50)
| | преобразование переменной к определенному типу. В данном случае к типу integer, т.е. целое число. | |
|
|
|
|
|
|
| Подскажите, для чего используется в таких ситуациях (int), не могу найти в интернете.
$status=(int)$HTTP_GET_VARS{'status'};
|
| |
|
|
|
|