Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Количество case в switch... 
:(
    Опции темы
FLASHman
Дата 11.2.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 31.8.2004

Репутация: нет
Всего: нет



Доброе/ый утро/день/вечер!

У меня такая проблемка…мне нужно чтобы при каком-либо определенном условии количество 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. Можно ли это сделать? И если можно, то как?
PM MAIL ICQ   Вверх
penizillin
Дата 11.2.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



тут лучше использовать if/else.
PM MAIL ICQ   Вверх
Akina
Дата 11.2.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Лучше сделать массив условий и выполнять if в цикле по $i


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Mal Hack
Дата 11.2.2005, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



А можно задачу сказать в человеческой форме, просто у меня такое чувство, что ты замудрил слишком...
PM ICQ   Вверх
FLASHman
Дата 12.2.2005, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 31.8.2004

Репутация: нет
Всего: нет



Я тоже что то посмотрел...сильно запутанный у меня получился вопрос. Просто не знаю как это сказать по проще. Ну вобщем попробую...у меня есть переменнная, допустим $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 надо.....че то я опять замудрил, но может кто-нибудь поймет.

Это сообщение отредактировал(а) FLASHman - 12.2.2005, 08:03
PM MAIL ICQ   Вверх
BIG BROTHER
Дата 12.2.2005, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 9.12.2004
Где: Россия, Москва

Репутация: 2
Всего: 4



циклом выполнять условия в зависимости от $i
--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
FLASHman
Дата 12.2.2005, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 31.8.2004

Репутация: нет
Всего: нет



BIG BROTHER
Ну а как это можно сделать? smile
Как динамически удалять или создавать разное количество case?

Это сообщение отредактировал(а) FLASHman - 12.2.2005, 13:36
PM MAIL ICQ   Вверх
Mal Hack
Дата 12.2.2005, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



FLASHman
я просил назвать задачу, а не что ты пытаешься сделать... Это я и так понял...
А почему все в 1 case нельзя впихнуть? или значения $i пересекаются?
PM ICQ   Вверх
FLASHman
Дата 12.2.2005, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 31.8.2004

Репутация: нет
Всего: нет



Mal Hack
А как впихнуть все в один case?
А задача у меня такая...поделить массив и выводить его значения по 5 на страницу. При том что я не знаю сколько элементов в массиве, а значит и сколько будет страниц.

Это сообщение отредактировал(а) FLASHman - 12.2.2005, 14:11
PM MAIL ICQ   Вверх
Mal Hack
Дата 12.2.2005, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(FLASHman @ 12.2.2005, 13:56)
а значит и сколько будет страниц.

ceil( count($arr) / 5 );

Цитата(FLASHman @ 12.2.2005, 13:56)
поделить массив и выводить его значения по 5

Предположим, что страница передается так: ?p=1
Тогда:
Код

$start = ( $_GET['id'] - 1 ) * 5;

for(  $i = $start; $i < $start + 5; $i++  )
{
 print $arr[$i] = $arr[$i] / $delitel;
}

И никаких кейсов.
PM ICQ   Вверх
FLASHman
Дата 12.2.2005, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 31.8.2004

Репутация: нет
Всего: нет



Mal Hack
Большое спасибо! Сейчас попробую.
PM MAIL ICQ   Вверх
InfMag
Дата 13.2.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Могу предложить такой вариант:
Код

for ($m=1; $m<i+1; $m++) {
if ($variable==$m) {
 $i++;
 $_isset=1;
}
}

if (isset($_isset)) {
echo "Все прошло удачно...";
} else {
echo "#$variable не существует!";
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.