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]   

> Без описания
mrKotik
Отправлено: 11 Августа, 2015 - 01:20:04
Post Id



Посетитель


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


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




У меня есть массив который надо плюсовать.



Как-то так должно быть 28+56= 84 потом 84+84 и так дальше

PHP:
скопировать код в буфер обмена
  1.         $levels_ = array(28,56,84,112,140,224,308,448,588,728,952,1176,1400,1624,1848,2072,2296,2520,2744,2968,3360,3752,4144,4536,4928,5320,5712,6104,6496,6888,7365,7840,8315,8792,9268,9744,10220,10696,11172,11648,12684,13720,14756,15792,16828,17864,18900,19936,20972,22008,23800,25592,27384,29176,30968,32760,34160,37240,40320,43400,49364,55328,61292,67256,73220,79184,85148,91112,97076,103040,113876,124712,135548,146384,157220,168056,178892,189728,200564,211400,233456,267890,295432);
  2.         $is = 0;
  3.     for($i=0;$i<count($levels_);$i++) {
  4.  
  5.                 if($i == 0){
  6.                    echo $levels_[$i]+$levels_[$i+1].',|'.$is.'|      </br>   ';
  7.                    $is = $levels_[$i]+$levels_[$i+1];  
  8.                 } else {
  9.                
  10.                    echo $is+$levels_[$i+1].', |'.$is.'| |'.$levels_[$i].'|</br>';
  11.                    $is = $is+$levels_[$i+1];
  12.                    
  13.                    
  14.                 }
  15.   }


Только странный баг или хз что( После 14084 уже идет не правильно хотя должно быть не 16604 а 16380 в чем ошибка?

(Отредактировано автором: 11 Августа, 2015 - 16:59:01)

 
 Top
Flash_PR
Отправлено: 11 Августа, 2015 - 11:05:15
Post Id



Посетитель


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


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




mrKotik пишет:
Только странный баг или хз что( После 14084 уже идет не правильно хотя должно быть не 16604 а 16380 в чем ошибка?


У меня 16604, бага не увидел........Значение из первой колонки получатся как сумма значения из второй колонки и третьей колонки следующей строки.....14084+2520=16604....

(Отредактировано автором: 11 Августа, 2015 - 11:28:26)



-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
Sail
Отправлено: 11 Августа, 2015 - 11:14:51
Post Id



Участник


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


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




mrKotik, Вы хоть алгоритм формирования этих строчек напишите.
Тогда мы сможем сравнить его с реализацией...
(Добавление)
Или формулу...
 
 Top
mrKotik
Отправлено: 11 Августа, 2015 - 16:53:57
Post Id



Посетитель


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


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




как исправить?
 
 Top
Flash_PR
Отправлено: 11 Августа, 2015 - 16:58:37
Post Id



Посетитель


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


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




mrKotik пишет:
как исправить?

С чего вы взяли что у вас баг, все верно выводит...


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
mrKotik
Отправлено: 11 Августа, 2015 - 17:00:14
Post Id



Посетитель


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


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




Flash_PR пишет:
mrKotik пишет:
как исправить?

С чего вы взяли что у вас баг, все верно выводит...
На калькуляторе считал должно быть 16380
 
 Top
Flash_PR
Отправлено: 11 Августа, 2015 - 17:02:34
Post Id



Посетитель


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


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




mrKotik пишет:
На калькуляторе считал должно быть 16380

Тогда пиши расклад как считал на калькуляторе, я считал тоже не на счетах......получилось 16604


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
mrKotik
Отправлено: 11 Августа, 2015 - 17:06:24
Post Id



Посетитель


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


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




Flash_PR пишет:
mrKotik пишет:
На калькуляторе считал должно быть 16380

Тогда пиши расклад как считал на калькуляторе, я считал тоже не на счетах......получилось 16604
или еще вопрос как это оптимальней сделать а то вижу код гавно вышел(
 
 Top
Flash_PR
Отправлено: 11 Августа, 2015 - 17:39:27
Post Id



Посетитель


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


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




mrKotik пишет:
или еще вопрос как это оптимальней сделать а то вижу код гавно вышел(


Можно так попробовать, но думаю сейчас еще короче и лучше предложат....

PHP:
скопировать код в буфер обмена
  1.  
  2. $levels_ = array(28,56,84,112,140,224,308,448,588,728,952,1176,1400,1624,1848,2072,2296,2520,2744,2968,3360,3752,4144,4536,4928,5320,5712,6104,6496,6888,7365,7840,8315,8792,9268,9744,10220,10696,11172,11648,12684,13720,14756,15792,16828,17864,18900,19936,20972,22008,23800,25592,27384,29176,30968,32760,34160,37240,40320,43400,49364,55328,61292,67256,73220,79184,85148,91112,97076,103040,113876,124712,135548,146384,157220,168056,178892,189728,200564,211400,233456,267890,295432);
  3.      
  4.                        
  5. foreach($levels_ as $k=>$v){
  6.   $slice = array_slice($levels_, 0, $k+1);
  7.   echo array_sum($slice).'<br>';
  8. }
  9.  


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
DelphinPRO
Отправлено: 11 Августа, 2015 - 22:33:45
Post Id



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


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


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




Flash_PR пишет:
но думаю сейчас еще короче и лучше предложат....

не предложат

потому как нихрена ничего не понятно.

Как говорится, сначала научитесь формулировать ТЗ


-----
Чем больше узнаю, тем больше я не знаю.
 
 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