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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
event
Отправлено: 16 Июля, 2013 - 22:02:56
Post Id


Частый посетитель


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


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




Ребят, реально ли преобразить этот код к более менее нормальному виду? Или здесь уже все итак, как должно быть?

PHP:
скопировать код в буфер обмена
  1. $one = "a";
  2. $two = "b";
  3.  
  4. $three = "a";
  5. $four = "a";
  6.  
  7. $five = "g";
  8. $six = "a";
  9.  
  10. $seven = "m";
  11. $eight = "m";
  12.  
  13. $i = 0;
  14.  
  15. if($one == $two) {
  16.         $i = $i + 1;   
  17. }
  18.  
  19. if($three == $four) {
  20.         $i = $i + 2;   
  21. }
  22.  
  23. if($five == $six) {
  24.         $i = $i + 3;   
  25. }
  26.  
  27. if($seven == $eight) {
  28.         $i = $i + 5;   
  29. }
  30.  
  31. echo $i;
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 22:11:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




Цитата:
массив.
цикл: если ключ == значение, то $i += $j

хотя наверное и получше есть варианты Улыбка


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
LIME
Отправлено: 16 Июля, 2013 - 22:12:45
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




да...вполне идеальный код учитывая вводную
 
 Top
EuGen Администратор
Отправлено: 16 Июля, 2013 - 22:14:05
Post Id


Профессионал


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


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




5.4:
PHP:
скопировать код в буфер обмена
  1. $rgNumbers = ['a', 'b', 'a', 'a', 'g', 'a', 'm', 'm'];
  2. $rgIncs    = [1,2,3,5];
  3. $iResult   = 0;
  4. array_walk(array_chunk($rgNumbers, 2), function($rgPair, $iKey) use (&$iResult, $rgIncs)
  5. {
  6.         $iResult+=$rgPair[0]==$rgPair[1]?$rgIncs[$iKey]:0;
  7. });
  8. //var_dump($iResult);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 16 Июля, 2013 - 22:14:31
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




хотя уже бред вижу
$i = $i + 1;
$i=1
и так далее
зачем к нулю прибавлять???
(Добавление)
нифигасе)) ктото еще читал код)))
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 22:18:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




LIME пишет:
хотя уже бред вижу
$i = $i + 1;
$i=1
и так далее
зачем к нулю прибавлять???
(Добавление)
нифигасе)) ктото еще читал код)))

смысл прибавления есть ибо там if if ..., а не if else if else ...
(Добавление)
т.е. будет 7, а в твоём случае 5 (перезапись)


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
event
Отправлено: 16 Июля, 2013 - 22:22:56
Post Id


Частый посетитель


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


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




EuGen, Parse error: syntax error, unexpected T_FUNCTION in C:\AppServ\www\1.php on line 6
 
 Top
LIME
Отправлено: 16 Июля, 2013 - 22:24:04
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




soffrick аа....ну да...ну извините я не привык к такому коду))
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 22:31:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




осмелюсь предположить, что у Вас php < 5.4, в отличии от EuGen


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
event
Отправлено: 16 Июля, 2013 - 22:33:12
Post Id


Частый посетитель


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


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




soffrick, да пхп 5.2, и сменить его ну никак не получится, так как разрушу остальные сайты на серваке.
 
 Top
EuGen Администратор
Отправлено: 16 Июля, 2013 - 22:43:18
Post Id


Профессионал


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


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




5.2:
PHP:
скопировать код в буфер обмена
  1. $rgNumbers = array('a', 'b', 'a', 'a', 'g', 'a', 'm', 'm');
  2. $rgIncs    = array(1,2,3,5);
  3. $iResult   = 0;
  4. foreach(array_chunk($rgNumbers, 2) as $iKey=>$rgPair)
  5. {
  6.         $iResult+=$rgPair[0]==$rgPair[1]?$rgIncs[$iKey]:0;
  7. };
  8. //var_dump($iResult);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DelphinPRO
Отправлено: 16 Июля, 2013 - 22:45:41
Post Id



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


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


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




soffrick пишет:
осмелюсь предположить, что у Вас php < 5.4,

на самом деле достаточно 5.3
он ругается на анонимную функцию.
можно заменить на create_function


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
event
Отправлено: 16 Июля, 2013 - 22:47:31
Post Id


Частый посетитель


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


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




EuGen, огромное спасибо ! Всегда отвечаешь на мои сообщения. Подмигивание
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 22:50:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




DelphinPRO пишет:
soffrick пишет:
осмелюсь предположить, что у Вас php < 5.4,

на самом деле достаточно 5.3

это да но тогда
Цитата:
Strict Standards: Only variables should be passed by reference

т.к. у самого 5.3
(Добавление)

на php.net в комментарих пишут что доступно с 5.4


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
event
Отправлено: 17 Июля, 2013 - 00:19:44
Post Id


Частый посетитель


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


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




Ребят, а можно еще как нибудь занести в переменную, то что не сошлось при проверке?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB