Miten tuollaisen datan voi tulosta taulukkona? Minkälainen foreach silmukka?
$tmp[1][2004]= X;
$tmp[1][2005]= X;
$tmp[2][2005]= X;
$tmp[2][2006]= X;
$tmp[3][2004]= X;
$tmp[3][2005]= X;
$tmp[3][2006]= X;
$tmp[4][2004]= X;
$tmp[4][2006]= X;
$tmp[4][2007]= X;
niin että ensimmäinen arvo [1/2/3/4] on rivin otsikko ja toinen [2004/2005/2006/2007] on sarakkeen otsikko, eli:
|2004|2005|2006|2007
1|X|X|-|-
2|-|X|X|-
3|X|X|X|-
4|X|-|X|X
Ongelmana, on että eri riveillä on eri määrä sarakkeita, ja niiden nimien ottaminen taulukosta.
$tmp[1][2004]= X;
$tmp[1][2005]= X;
$tmp[2][2005]= X;
$tmp[2][2006]= X;
$tmp[3][2004]= X;
$tmp[3][2005]= X;
$tmp[3][2006]= X;
$tmp[4][2004]= X;
$tmp[4][2006]= X;
$tmp[4][2007]= X;
niin että ensimmäinen arvo [1/2/3/4] on rivin otsikko ja toinen [2004/2005/2006/2007] on sarakkeen otsikko, eli:
|2004|2005|2006|2007
1|X|X|-|-
2|-|X|X|-
3|X|X|X|-
4|X|-|X|X
Ongelmana, on että eri riveillä on eri määrä sarakkeita, ja niiden nimien ottaminen taulukosta.
Vastaukset 3
Vanhimmat
Vaikka näin: (Sisentelen alaviivalla, selkeyden vuoksi.)
foreach ($tmp as $row) foreach ($row as $col => $val) $cols[$col] = 1;
$cols = array_keys($cols); sort($cols);
foreach ($cols as $col) echo('|'.$col);
echo("\n");
foreach ($tmp as $rownum => $row) {
___echo($rownum);
___foreach ($cols as $col) {
______echo('|'.(isset($row[$col]) ? $row[$col] : '-'));
___}
___echo("\n");
}
alottelen vasta php:tä ja olen törmännyt monesti tuossa esim. "foreach ($tmp as $row)" "as"?
Kunhan on syntaksia.
foreach( as ) , tai vaihtoehtoisesti foreach( as => ) .
Ei sillä sen erityisempää merkitystä. Kuten 'as'-prepositio englanniksi noin yleensä; "sellaisena".