Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] operacje liczbowe na tablicach, majowa zwiecha
babejsza
post
Post #1





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Witam,

mam problem, który najprawdopodbniej jest wynikiem wiosennej zwiechy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Mam taką oto tablice:

Kod
Array
(
    [0] => 424
    [1] => 314
    [2] => 349
    [3] => 250
    [4] => 349
    [5] => 250
    [6] => 424
    [7] => 314
    [8] => 348
    [9] => 249
    [10] => 348
)


Teraz za jej pomocą chciuałbym stworzyć nową, która wyglądała by mniej więcej tak:

Kod
Array
(
    [0] => Array
      (
        [0] => 0
        [1] => 2
        [2] => 1087
      )
    [1] => Array
      (
        [0] => 3
        [1] => 5
        [2] => 849
      )
    [2] => Array
      (
        [0] => 6
        [1] => 8
        [2] => 1086
      )
    [3] => Array
      (
        [0] => 9
        [1] => 10
        [2] => 597
      )
)


Chodzi o to, że chcę stworzyć nową tablicę, w której przecowuję wartości "od", "do" oraz "sumę" z piewszej tablicy przy założeniu, że suma nie może przekraczać w tym przypadku 1200.

Podszedłem do tego ze złej strony próbując zrobić to po prostu poprzez pętlę foreach, tyle że ona przenosi mi wskaźnik to następnego klucza już w trakcie liczenia, więc tak być nie może.

Jeżeli ma ktoś pomysł na rozwiązanie mojego (pewnie banalnego) problemu prosiłbym o rady. Będę zobowiązany (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Ten post edytował babejsza 30.04.2007, 13:41:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


Do przeanalizowania:
  1. <?php
  2.  
  3. $tablica = array(424, 314, 349, 250, 349, 250, 424, 314, 348, 249, 348);
  4.  
  5.  
  6. $nowa_tablica = array();
  7. $tmp = 0;
  8. $tmp_numb = 0;
  9.  
  10. $c = count($tablica);
  11. for($i=0; $i<$c; $i++)
  12. {
  13. if(($tmp + $tablica[$i]) > 1200) {
  14. $nowa_tablica[] = array($tmp_numb, ($i-1), $tmp);
  15. $tmp = 0;
  16. $tmp_numb = $i;
  17. }
  18.  
  19. $tmp += $tablica[$i];
  20. }
  21. if($tmp > 0) {
  22. $nowa_tablica[] = array($tmp_numb, ($i-1), $tmp);
  23. }
  24.  
  25.  
  26.  
  27. echo('<pre>');
  28. print_r($nowa_tablica);
  29. echo('</pre>');
  30.  
  31. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 13:36