Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: оптимизировать код

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: оптимизировать код
koras
Отправлено: 24 Октября, 2009 - 21:31:59
Post Id



Частый гость


Покинул форум
Сообщений всего: 224
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. if($arraybase[4] == "0"){
  3.         $stavkabase = 'Неиз';
  4.         }elseif($arraybase[4] == "1"){
  5.                 $stavkabase = 'Пер/фикс';
  6.                 }elseif($arraybase[4] == "2"){
  7.                         $stavkabase = 'фикс';
  8.                         }elseif($arraybase[4] == "3"){
  9.                                 $stavkabase = 'Перем';
  10.                                 }elseif($arraybase[4] == "4"){
  11.                                         $stavkabase = 'MIB';
  12.                                         }elseif($arraybase[4] == "5"){
  13.                                                 $stavkabase = 'LIB';
  14.                                                 }elseif($arraybase[4] == "6"){
  15.                                                         $stavkabase = 'MosPri';
  16.                                                         }
  17.  
  18.  




Реально ли? или он уже оптимизирован? Или же используя массив или другое средство его можно оптимизировать лучше.

А то я на него смотрю и как то не по себе делается.

Если реально то как, чтобы сохранить читабельность.

(Отредактировано автором: 24 Октября, 2009 - 21:33:16)

 
 Top
Мелкий Супермодератор
Отправлено: 24 Октября, 2009 - 21:56:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Чтобы по крайней мере улучшить читабельность - switch.
В массив тоже можно. Пожалуй, даже быстрее будет работать.


-----
PostgreSQL DBA
 
 Top
Ch_chov
Отправлено: 24 Октября, 2009 - 22:55:30
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




PHP:
скопировать код в буфер обмена
  1. $arr = array('Неиз', 'Пер/фикс', 'фикс', 'Перем', 'MIB', 'LIB', 'MosPri');
  2. $stavkabase = $arr[$arraybase[4]];
 
 Top
koras
Отправлено: 24 Октября, 2009 - 23:09:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 224
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Да с массивом более красиво.
Пока сделал так, но пример с массивом намотаю на ус. Спасибо всем

PHP:
скопировать код в буфер обмена
  1. switch ($arraybase[4]):
  2.                 case 1:
  3.                         $stavkabase = 'Пер/фикс';              
  4.                         break;
  5.                 case 2:
  6.                         $stavkabase = 'фикс';
  7.                         break;
  8.                 case 3:
  9.                         $stavkabase = 'Перем';
  10.                         break;
  11.                 case 4:
  12.                         $stavkabase = 'MIB';
  13.                         break;
  14.                 case 5:
  15.                         $stavkabase = 'LIB';
  16.                         break;
  17.                 case 6:
  18.                         $stavkabase = 'MosPri';
  19.                         break;
  20.                 default:
  21.                         $stavkabase = 'Неиз';
  22. endswitch;

(Отредактировано автором: 24 Октября, 2009 - 23:09:24)

 
 Top
koras
Отправлено: 28 Октября, 2009 - 20:58:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 224
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Зарезервировал тему под оптимизацию
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. if($edit_program_per[4] == "0"){
  4.                 $stav0 = 'checked = "checked"';
  5.                         }elseif($edit_program_per[4] == "1"){
  6.                         $stav1 = 'checked = "checked"';
  7.                                 }elseif($edit_program_per[4] == "2"){
  8.                                 $stav2 = 'checked = "checked"';
  9.                                         }elseif($edit_program_per[4] == "3"){
  10.                                         $stav3 = 'checked = "checked"';
  11.                                                 }elseif($edit_program_per[4] == "4"){
  12.                                                 $stav4 = 'checked = "checked"';
  13.                                                         }elseif($edit_program_per[4] == "5"){
  14.                                                         $stav5 = 'checked = "checked"';
  15.                                                                 }elseif($edit_program_per[4] == "6"){
  16.                                                                 $stav6 = 'checked = "checked"';
  17.                                                                 }
  18.  



Вопрос как ? сидел думал час )

Для примера для чего

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <p>                            
  3.         <label>Пример</label>
  4.         <input type="radio"  value="0"  '.$stav0.'>true<br>
  5.         <input type="radio"  value="1"  '.$stav1.'>правильно<br>
  6.         <input type="radio"  value="2"  '.$stav2.'>Фикс<br>
  7.         <input type="radio"  value="3"  '.$stav3.'>ставка<br>
  8.         <input type="radio"  value="4"  '.$stav4.'>M<br>
  9.         <input type="radio"  value="5"  '.$stav5.'>LI<br>
  10.         <input type="radio"  value="6"  '.$stav6.'>Mos<br>
  11. </p>
  12.  
  13.  



Сделал так, но думаю что можно как то получше что ли или покороче

PHP:
скопировать код в буфер обмена
  1.         switch ($prog) {
  2.         case 0: $stav0 = 'checked = "checked"';
  3.                 break;
  4.         case 1: $stav1 = 'checked = "checked"';
  5.                 break;
  6.         case 2: $stav2 = 'checked = "checked"';
  7.                 break;
  8.         case 3: $stav3 = 'checked = "checked"';
  9.                 break;
  10.         case 4: $stav4 = 'checked = "checked"';
  11.                 break;
  12.         case 5: $stav5 = 'checked = "checked"';
  13.                 break;
  14.         case 6: $stav6 = 'checked = "checked"';
  15.                 break;
  16. }

(Отредактировано автором: 28 Октября, 2009 - 21:34:29)

 
 Top
valenok Модератор
Отправлено: 29 Октября, 2009 - 08:38:38
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




выводи в цикле


-----
Truly yours, Sasha.
 
My status
 Top
lolo
Отправлено: 29 Октября, 2009 - 08:54:25
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Окт. 2009  
Откуда: Москва


Помог: 0 раз(а)




koras
Да, можно покороче.

${stav.$prog} = 'checked';
 
 Top
Maksim337
Отправлено: 29 Октября, 2009 - 20:47:41
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




lolo

что это? обьяснить мож? нигде не встречал...
 
 Top
Мелкий Супермодератор
Отправлено: 29 Октября, 2009 - 20:58:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Это динамические переменные.
http://php.su/learnphp/vars/?varsvars
Интересная штука


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB