Подскажите пожалуйста, цикл, готовый пример для этого кода: Код (Text): if ($b >= 500 and $b < 1000) { $s = 1; } else { if ($b >= 1000 and $b < 1500) { $s = 2; } else { if ($b >= 1500 and $b < 2000) { $s = 3; } else { if ($b >= 2000 and $b < 2500) { $s = 4; } else { if ($b >= 2500 and $b < 3000) { $s = 5; } else { if ($b >= 3000 and $b < 3500) { $s = 6; } else { if ($b >= 3500 and $b < 4000) { $s = 7; } else { if ($b >= 4000 and $b < 4500) { $s = 8; } else { if ($b >= 4500 and $b < 5000) { $s = 9; } else { // .... } } } } } } } } }
PHP: for ($i = 1; $i<10; $i++) { if (($this->b>=$i*500) && ($this->b<($i+1)*500)) { $this -> s = $i; } } echo $this -> s;
Я показал код полностью ) В $b - цифры Код (Text): <?php $b = 4500; for ($i = 1; $i<10; $i++) { if (($this->b>=$i*500) && ($this->b<($i+1)*500)) { $this->s = $i; } } echo $this->s; ?> На чистом index.php Fatal error: Uncaught Error: Using $this when not in object context in /opt/lampp/htdocs/index.php:4 Stack trace: #0 {main} thrown in /opt/lampp/htdocs/index.php on line 4
PHP: $b = 4500; $s = 0; for ($i = 1; $i<10; $i++) { if (($b>=$i*500) && ($b<($i+1)*500)) { $s = $i; } } echo $s;
Ребят, вы страдаете фигней. Данная задача решается в одну строчку: PHP: $s = (int)($b/500); Городить миллион ифов или циклы для вычисления чего-то, что может быть описано формулой - это сюрреализм какой-то. По возможности избегайте этого. --- Добавлено --- @Сереганек, вот ты когда это писал: Задумывался о том, что число $b может быть, скажем.. больше 12000? Ты же увидел закономерность в коде автора. Ты ж просек фишку с кратностью 500. Что ж ты дальше не развил эту мысль?
Блин, почти E=mc^2! Да, решил в лоб, как попросили, а нужно было только выйти чуток за рамки условия и все. Плохо, что не заметил сам, хорошо, что сделали замечание, я ведь тоже учусь.
Есть такая закономерность - чем прямее и лобовее решение, тем больше вероятность, что это полуживой костыль, который подкосится на любом чихе и похоронит остальную систему. Это вот знаешь, есть дом. В доме есть двери, стены, лестницы. Можно пользоваться ими и все будет ок. А можно взять перфоратор побольше и ломиться НАПРЯМУЮ. Два-три раза сработает. И даже даст выигрыш во времени при перемещении между точками со сложным маршрутом. А дальше...либо ты потом вернешься, заделаешь все дыры в перекрытиях и начнешь пользоваться дверями, либо продолжишь в таком духе и здание, в один прекрасный день, просто рухнет. В общем, я к чему это - учись отличать добро ото зла.