ďťż

Ładny brzuch

Co robię nie tak, bo jakoś nie mogę się doszukać odpowidzi.

<?php $suma = array( array( array( 'p' => 0, 'o' => 0, 'e' => 0 ) ) ); print "<pre>"; print_r($suma); print "</pre>"; for($i = 0; $i< 4; $i++){ for($k = 0; $k < 4; $k++){ $suma[$i][$k]['p'] +=1; } } ?>

Notice: Undefined offset: 1 in ...\tabWielo.php on line 19

Notice: Undefined index: p in ...\tabWielo.php on line 19
Użytkownik gesiek edytował ten post 09 marzec 2009, 22:20


Wiesz, co to logika? Prześledź swój algorytm, a się dowiesz, że Twoja tablica nie ma czterech tablic wewnątrz, a jedną dla każdego rzędu. Poprwa tablicę na taką, która będzie zawierać po cztery tablice na każdym rzędzie i pętla zawsze będzie spełniona.


Wiesz, co to logika? Prześledź swój algorytm, a się dowiesz, że Twoja tablica nie ma czterech tablic wewnątrz, a jedną dla każdego rzędu. Poprwa tablicę na taką, która będzie zawierać po cztery tablice na każdym rzędzie i pętla zawsze będzie spełniona.

<?php $Zestawienie1 = array(0 => array( 0 => array( 0 => array( 'p' => 15, 'o' => 5654, 'e' => 548 ) ), array( 1 => array( 'p' => 215, 'o' => 4, 'e' => 8 ) ), 1 => array( 0 => array( 'p' => 15, 'o' => 5654, 'e' => 548 ) ), array( 1 => array( 'p' => 215, 'o' => 4, 'e' => 8 ) ), array( 3 => array( 'p' => 335, 'o' => 54, 'e' => 532 ) ) ), array( 1 => array( 0 => array( 'p' => 15, 'o' => 5654, 'e' => 548 ) ), array( 1 => array( 'p' => 215, 'o' => 4, 'e' => 8 ) ), array( 3 => array( 'p' => 335, 'o' => 54, 'e' => 532 ) ), 1 => array( 0 => array( 'p' => 15, 'o' => 5654, 'e' => 548 ) ), array( 1 => array( 'p' => 215, 'o' => 4, 'e' => 8 ) ), array( 3 => array( 'p' => 335, 'o' => 54, 'e' => 532 ) ), array( 4 => array( 'p' => 335, 'o' => 54, 'e' => 532 ) ) ) ); print "<pre>"; print_r($Zestawienie1); print "</pre>"; $ile = count($Zestawienie1); for($i=0;$i<$ile;$i++){ $ile2 = count($Zestawienie1[$i]); for($k=0;$k<$ile2;$k++){ //$suma[$i][$k]['p'] += $Zestawienie1[$i][$k]['p']; } } ?>

suma[miesiac1][dzien1][p]
suma[miesiac1][dzien2][p]
...
...
...

suma[miesiac_N][dzien1][p]
suma[miesiac_N][dzienN][p]

chce uzyskać to w takim zapisie. eh

print "<pre>"; print_r($Zestawienie1); print "</pre>"; $suma = array(); foreach($Zestawienie1 as $k1 => $v1){ foreach($v1 as $k2 => $v2){ foreach ($v2 as $k3 => $v3) { if (!isset($suma[$k1][$k2]['p'])) $suma[$k1][$k2]['p'] = 0; $suma[$k1][$k2]['p'] += $v3['p']; } } }To już zadziała. Mam nadzieję, że taki był zamierzony cel.



Tak o to chodziło. Dzięki za zaangażowanie.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •