imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 29.02.2004, 06:01     # 1
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
Как узнать, является ли число in range...

Допусти, мне нужно чтобы некая перенная обрабатывалась одним образом если она имеет значение от 1 до 20 и другим, если нет.
Мои числа имеют вид 000 то есть начинаются с нуля. Вот этот пример

<?php
if ($n > 020) {
echo "is more than 013";
} else {
echo "is less";
}
?>

срабатывает только до 009. после этого мне пишут is less. Мысль ясна?
Видимо, это происходит оттого что все числа начинающиеся на 0 не являются десятеричными? Как это обойти? Спасибо.
Psionic Vision вне форума  
Старый 29.02.2004, 07:48     # 2
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Не пиши первый ноль. Насколько я помню, если число начинается с 0 PHP считает, что это восьмеричное число.

Добавлено через 19 минут:
P.S.
<?php
if ($n > 020) {
echo "is more than 013";
} else {
echo "is less";
}
?>
а почему значение разные?
__________________
Nunc est bibendum
is_absent вне форума  
Старый 29.02.2004, 11:14     # 3
BiГ
Guest
 
Сообщения: n/a

юзай функцию ltrim():

$n = ltrim($n, "0");
 
Старый 29.02.2004, 12:07     # 4
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
вот пример:
PHP код:
  for ($i 0$i 31$i++) {
    
$n sprintf("%03d"$i);
    echo 
"$n ";
    if (
$n 20) {
      echo 
"is more than 20\n";
    } else {
     echo 
"is less then 20\n";
    }
  } 
выводит:
Код:
000 is less then 020
...
020 is less then 020
021 is more than 020
...
030 is more than 020
насколько я понял, это и нужно
__________________
Nunc est bibendum
is_absent вне форума  
Старый 29.02.2004, 15:59     # 5
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
BiГ
@_is_absent
Спасибо.
А что такое %03d?
Psionic Vision вне форума  
Старый 29.02.2004, 16:35     # 6
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Neo
Под число отводится три знака (как минимум) и пустые места заменяются на 0
__________________
Nunc est bibendum
is_absent вне форума  
Старый 29.02.2004, 17:03     # 7
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
Значит, если я хочу два знака, то будет %02d, так?
Psionic Vision вне форума  
Старый 01.03.2004, 06:46     # 8
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Neo
именно
__________________
Nunc est bibendum
is_absent вне форума  
Старый 03.03.2004, 00:21     # 9
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
@_is_absent
спасибо! лови 5!
Psionic Vision вне форума  
Старый 03.03.2004, 07:22     # 10
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Neo
Пасиб

P.S.
%d -- это для целых чисел. есть еще модификаторы %s -- строка, %f -- float и еще несколько других.
на _http://www.php.net/manual/en/function.sprintf.php есть их описание. Правда на английском
__________________
Nunc est bibendum

Последний раз редактировалось is_absent; 03.03.2004 в 07:25.
is_absent вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 20:14.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.