| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Количество case в switch... |
| Автор: FLASHman 11.2.2005, 15:55 |
| Доброе/ый утро/день/вечер! У меня такая проблемка…мне нужно чтобы при каком-либо определенном условии количество case в switch было разным. Например, переменная $i==3 и мне нужно чтобы было: switch($variable){ case 1: $n++; break; case 2: $n++; break; case 3: $n++; break; } А если $i==5, то: switch($variable){ case 1: $n++; break; case 2: $n++; break; case 3: $n++; break; case 4: $n++; break; case 5: $n++; break; } и т.д. Значение $i может быть разным, а количество case такое же какое и значение у $i. Допустим если $i=5 то и case должно быть тоже 5. Можно ли это сделать? И если можно, то как? |
| Автор: penizillin 11.2.2005, 16:08 |
| тут лучше использовать if/else. |
| Автор: Akina 11.2.2005, 16:25 |
| Лучше сделать массив условий и выполнять if в цикле по $i |
| Автор: Mal Hack 11.2.2005, 21:57 |
| А можно задачу сказать в человеческой форме, просто у меня такое чувство, что ты замудрил слишком... |
| Автор: FLASHman 12.2.2005, 07:59 |
| Я тоже что то посмотрел...сильно запутанный у меня получился вопрос. Просто не знаю как это сказать по проще. Ну вобщем попробую...у меня есть переменнная, допустим $i. Значением этой переменной может быть разное число. Мне нужно чтобы количество case в условии switch было равно значению этой переменной. Если $i=4, то case должно быть тоже четыре. Тоесть вот так: switch($variable){ case 1: $i++; break; case 2: $i++; break; case 3: $i++; break; case 4: $i++; break; } Я бы мог поставить их вручную, но значение переменной от меня не зависит, поэтому я не могу знать какое количество case надо.....че то я опять замудрил, но может кто-нибудь поймет. |
| Автор: BIG BROTHER 12.2.2005, 11:08 |
| циклом выполнять условия в зависимости от $i |
| Автор: FLASHman 12.2.2005, 13:32 |
| BIG BROTHER Ну а как это можно сделать? Как динамически удалять или создавать разное количество case? |
| Автор: Mal Hack 12.2.2005, 13:52 |
| FLASHman я просил назвать задачу, а не что ты пытаешься сделать... Это я и так понял... А почему все в 1 case нельзя впихнуть? или значения $i пересекаются? |
| Автор: FLASHman 12.2.2005, 13:56 |
| Mal Hack А как впихнуть все в один case? А задача у меня такая...поделить массив и выводить его значения по 5 на страницу. При том что я не знаю сколько элементов в массиве, а значит и сколько будет страниц. |
| Автор: Mal Hack 12.2.2005, 15:22 | ||||||
ceil( count($arr) / 5 );
Предположим, что страница передается так: ?p=1 Тогда:
И никаких кейсов. |
| Автор: FLASHman 12.2.2005, 15:27 |
| Mal Hack Большое спасибо! Сейчас попробую. |
| Автор: InfMag 13.2.2005, 11:44 | ||
Могу предложить такой вариант:
|