PHP и сравнение

livelink
На сайте с 30.04.2006
Offline
117
467

function getrating($repa)

{

if ($repa==0) { $georg=1; }

elseif ($repa>=10 || $repa<=20) { $georg=2; }

elseif ($repa>=20 || $repa<=35) { $georg=3; }

elseif ($repa>=35 || $repa<=60) { $georg=4; }

elseif ($repa>=60 || $repa<=85) { $georg=5; }

elseif ($repa>=85 || $repa<=120) { $georg=6; }

elseif ($repa>=120 || $repa<=160) { $georg=7; }

elseif ($repa>=160 || $repa<=260) { $georg=8; }

elseif ($repa>=260 || $repa<=370) { $georg=9; }

elseif ($repa>=370 || $repa<=480) { $georg=10; }

elseif ($repa>=480 || $repa<=590) { $georg=11; }

elseif ($repa>=590 || $repa<=690) { $georg=12; }

elseif ($repa>=690 || $repa<=800) { $georg=13; }

elseif ($repa>=800 || $repa<=1000) { $georg=14; }

elseif ($repa>=1000 || $repa<=1260) { $georg=15; }

elseif ($repa>=1260 || $repa<=1600) { $georg=16; }

elseif ($repa>=1600 || $repa<=2000) { $georg=17; }

elseif ($repa>=2000 || $repa<=2400) { $georg=18; }

elseif ($repa>=2400 || $repa<=3000) { $georg=19; }

elseif ($repa>=3000 || $repa<=3650) { $georg=20; }

elseif ($repa>=3650 || $repa<=8500) { $georg=21; }

elseif ($repa>=8500 || $repa<=14500) { $georg=22; }

elseif ($repa>=14500 || $repa<=21000) { $georg=23; }

elseif ($repa>=21000 || $repa<=29000) { $georg=24; }

elseif ($repa>=29000 || $repa<=49000) { $georg=25; }

elseif ($repa>=49000 || $repa<=89500) { $georg=26; }

elseif ($repa>=89500 || $repa<=149800) { $georg=27; }

elseif ($repa>=149800 || $repa<=220000) { $georg=28; }

elseif ($repa>=220000 || $repa<=295000) { $georg=29; }

elseif ($repa>=295000 || $repa<=385000) { $georg=30; }

elseif ($repa>=385000 || $repa<=485000) { $georg=31; }

elseif ($repa>=485000 || $repa<=595000) { $georg=32; }

elseif ($repa>=595000 || $repa<=715000) { $georg=33; }

elseif ($repa>=715000 || $repa<=845000) { $georg=34; }

elseif ($repa>=845000 || $repa<=985000) { $georg=35; }

elseif ($repa>=985000 || $repa<=1130000) { $georg=36; }

elseif ($repa>=1130000 || $repa<=1390000) { $georg=37; }

elseif ($repa>=1390000 || $repa<=1660000) { $georg=38; }

elseif ($repa>=1660000 || $repa<=2040000) { $georg=39; }

elseif ($repa>=2040000 || $repa<=99999999) { $georg=40; }

else {}

echo "$georg";

}

почему-то функция если $repa=220 то она присваивает $georg=40 :(((

Знакомства БЕЗ регистрации - http://www.privetka.ru (http://www.privetka.ru), КРЕАТИВНАЯ РЕКЛАМА - http://advertisio.ru (http://advertisio.ru), Каталог автозапчастей - http://aubb.ru (http://aubb.ru)
PavelWershinin
На сайте с 23.10.2010
Offline
9
#1
livelink:
почему-то функция если $repa=220 то она присваивает $georg=40 ((

Потому что || означает или, а в вашем случае надо использовать и пишется &&

XR.CMS - система управления сайтами (https://xr-cms.ru)
livelink
На сайте с 30.04.2006
Offline
117
#2

Вопрос снят ;)

N
На сайте с 06.05.2007
Offline
419
#3

php t.php

2

Не повторяется. Напиши нормальный воспроизводимый тест.

я то догадываюсь в чем дело, но разве так сложно нормальный тест сделать для других, раз уж пришел на форум спрашивать ?

Кнопка вызова админа ()
AlikZP
На сайте с 22.11.2009
Offline
107
#4

Сделайте, во первых, не снизу вверх, а сверху вниз

То есть

$georg = 40;

if ($repa<=2040000) {$georg=39;}

if ($repa<=1660000) {$georg=38;}

if ($repa<=1390000) {$georg=37;}

...............................................

if ($repa<10) {$georg=1;}

А во вторых граничные значения $repa занесите в массив и простым циклом по нему проходите.

Website CMS: быстрая, удобная, недорогая! Вечная лицензия за 45$ (/ru/forum/524503) Яся - быстрый поиск фото для товаров. OpenCart/ocStore. Дополнение. (/ru/forum/665287) Грамотная верстка ваших макетов (/ru/forum/comment/8853216)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий