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 » » Вопросы новичков » Подскажите как упростить

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

1. UNTRUSTED - 20 Апреля, 2012 - 00:08:26 - перейти к сообщению
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. Уточню, код не мой Закатив глазки
2. OrmaJever - 20 Апреля, 2012 - 00:16:03 - перейти к сообщению
Сурово!
Делаем масив, ключи имеют колиество повторений, значения на что менять.

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. UNTRUSTED - 20 Апреля, 2012 - 00:27:36 - перейти к сообщению

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

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

(Добавление)
Спасибо!
Гораздо код сократитУлыбка
Я ей upgrade делаюУлыбка
4. OrmaJever - 20 Апреля, 2012 - 00:39:40 - перейти к сообщению
Большие числа можно тоже сократить.
1 000 000 = 1e6
900 000 = 9e5
500 000 = 5e5
и т.д
5. UNTRUSTED - 20 Апреля, 2012 - 02:08:04 - перейти к сообщению
Мучался-мучался, вот что натворил (Отобразить)

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

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

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

 

Powered by ExBB FM 1.0 RC1