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
Форумы портала PHP.SU :: Версия для печати :: оптимизировать код
Форумы портала PHP.SU » PHP » Программирование на PHP » оптимизировать код

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

1. koras - 24 Октября, 2009 - 21:31:59 - перейти к сообщению
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.  




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

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

Если реально то как, чтобы сохранить читабельность.
2. Мелкий - 24 Октября, 2009 - 21:56:37 - перейти к сообщению
Чтобы по крайней мере улучшить читабельность - switch.
В массив тоже можно. Пожалуй, даже быстрее будет работать.
3. Ch_chov - 24 Октября, 2009 - 22:55:30 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $arr = array('Неиз', 'Пер/фикс', 'фикс', 'Перем', 'MIB', 'LIB', 'MosPri');
  2. $stavkabase = $arr[$arraybase[4]];
4. koras - 24 Октября, 2009 - 23:09:03 - перейти к сообщению
Да с массивом более красиво.
Пока сделал так, но пример с массивом намотаю на ус. Спасибо всем

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;
5. koras - 28 Октября, 2009 - 20:58:06 - перейти к сообщению
Зарезервировал тему под оптимизацию
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. }
6. valenok - 29 Октября, 2009 - 08:38:38 - перейти к сообщению
выводи в цикле
7. lolo - 29 Октября, 2009 - 08:54:25 - перейти к сообщению
koras
Да, можно покороче.

${stav.$prog} = 'checked';
8. Maksim337 - 29 Октября, 2009 - 20:47:41 - перейти к сообщению
lolo

что это? обьяснить мож? нигде не встречал...
9. Мелкий - 29 Октября, 2009 - 20:58:15 - перейти к сообщению
Это динамические переменные.
http://php.su/learnphp/vars/?varsvars
Интересная штука

 

Powered by ExBB FM 1.0 RC1