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]   

> Описание: !!!Не для слабонервных!!! :)
UNTRUSTED
Отправлено: 20 Апреля, 2012 - 00:08:26
Post Id


Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1.       $out = str_replace(str_repeat('M',1000000),'kilo', $out);
  2.       $out = str_replace(str_repeat('M',900000),'Ckilo', $out);
  3.       $out = str_replace(str_repeat('M',500000),'D', $out);
  4.       $out = str_replace(str_repeat('M',400000),'CD', $out);
  5.       $out = str_replace(str_repeat('M',100000),'C', $out);
  6.       $out = str_replace(str_repeat('M',90000),'XC', $out);
  7.       $out = str_replace(str_repeat('M',50000),'L', $out);
  8.       $out = str_replace(str_repeat('M',40000),'XL', $out);
  9.       $out = str_replace(str_repeat('M',10000),'X', $out);
  10.       $out = str_replace(str_repeat('M',5000),'V', $out);
  11.       $out = str_replace(str_repeat('M',4000),'IV', $out);
  12.       $out = str_replace(str_repeat('M',1000),'I ', $out);
  13.       $out = str_replace(str_repeat('M',900),'Ckilo', $out);
  14.       $out = str_replace(str_repeat('M',500),'D', $out);
  15.       $out = str_replace(str_repeat('M',400),'CD', $out);
  16.       $out = str_replace(str_repeat('M',100),'C', $out);
  17.       $out = str_replace(str_repeat('M',90),'XC', $out);
  18.       $out = str_replace(str_repeat('M',50),'L', $out);
  19.       $out = str_replace(str_repeat('M',40),'XL', $out);
  20.       $out = str_replace(str_repeat('M',10),'X', $out);
  21.       $out = str_replace(str_repeat('M',5),'V', $out);
  22.       $out = str_replace(str_repeat('M',4),'M'.'V', $out);

Каким макаром это можно заменитьУлыбка
(Добавление)
P.S. Уточню, код не мой Закатив глазки
 
 Top
OrmaJever Модератор
Отправлено: 20 Апреля, 2012 - 00:16:03
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Сурово!
Делаем масив, ключи имеют колиество повторений, значения на что менять.

PHP:
скопировать код в буфер обмена
  1. $arr = array(1000000=>'kilo', 900000=>'Ckilo', ...);
  2. foreach($arr as $k=>$v) {
  3.   $out = str_replace(str_repeat('M', $k), $v, $out);
  4. }

(Добавление)

UNTRUSTED пишет:
P.S. Уточню, код не мой

Да ладно, мы всё понимаем, не надо оправдыватся Подмигивание


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
UNTRUSTED
Отправлено: 20 Апреля, 2012 - 00:27:36
Post Id


Частый гость


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


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





OrmaJever пишет:
Да ладно, мы всё понимаем, не надо оправдыватся

Серьезно
http://deadly2008[dot]blogspot[dot]com/2[dot][dot][dot]e-html-true[dot]html

(Добавление)
Спасибо!
Гораздо код сократитУлыбка
Я ей upgrade делаюУлыбка
 
 Top
OrmaJever Модератор
Отправлено: 20 Апреля, 2012 - 00:39:40
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Большие числа можно тоже сократить.
1 000 000 = 1e6
900 000 = 9e5
500 000 = 5e5
и т.д


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
UNTRUSTED
Отправлено: 20 Апреля, 2012 - 02:08:04
Post Id


Частый гость


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


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




Мучался-мучался, вот что натворил (Отобразить)

Еще осталось как-нибудь $arrkey упростить.
ыы! $arrkey тоже упростил.Хорошо (Отобразить)

(Добавление)
Кстати, как же я про е то совсем забылУлыбка (Отобразить)

сенк! Улыбка
(Добавление)
Еще в обратном переводе упростил: (Отобразить)

(Отредактировано автором: 20 Апреля, 2012 - 03:04:09)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB