Autor | Zpráva | ||
---|---|---|---|
Ricky4852 Profil |
Zdravim,
pokúšam sa o debug pomocou HTML tabuľky, ktorú vygenerujem pomocou array polí v PHP, zväčša mi to funguje správne, až na jeden detail, s ktorým si neviem rady. Prikladám obrázok kde je to znázornené lepšie. Inak povedané, v čase keď sa key 0 vyhodnotil že mu patrí ďalšie array pole, vykreslí sa jeho hodnota ako nový tr riadok, dalo by sa nejak ten kód upraviť, aby pole začalo vypisovať hneď vedľa bunky key 0, ako je na tom druhom obrázku ? Prehľadal som už nespočet stránok na google, ale toto je to najvhodnejšie čo som mohol získať, aktuálne skripty ktoré používam sú tu: $array['id'] = 5; $array['text'] = "Mein Text"; $array['comments'] = array(5, 4, array( 'Comic' => array( 'Title'=>'Superman', 'Author'=>'Jerry Siegel and Joe Shuster', 'Publication Date' => '1938'), 'Science Fiction' => array( 'Title'=>'Dune', 'Author'=>'Frank Herbert', 'Publication Date'=>'1965'), 'Fantasy' => array( 'Title'=>'The Hobbit', 'Author'=>'J.R.R. Tolkien', 'Publication Date'=>'1937'), 'Horror' => array( 'Title'=>'Carrie', 'Author'=>'Stephen King', 'Publication Date'=>'1974') ),23); $array['author'] = "ich"; html_show_array($array); function do_offset($level){ $offset = ""; // offset for subarry for ($i=1; $i<$level;$i++){ $offset = $offset . "<td></td>"; } return $offset; } function show_array($array, $level, $sub){ if (is_array($array) == 1){ // check if input is an array foreach($array as $key_val => $value) { $offset = ""; if (is_array($value) == 1){ // array is multidimensional echo "<tr>"; $offset = do_offset($level); echo $offset . "<td>" . $key_val . "</td>"; show_array($value, $level+1, 1); } else{ // (sub)array is not multidim if ($sub != 1){ // first entry for subarray echo "<tr nosub>"; $offset = do_offset($level); } $sub = 0; echo $offset . "<td main ".$sub." width=\"120\">" . $key_val . "</td><td width=\"120\">" . $value . "</td>"; echo "</tr>\n"; } } //foreach $array } else{ // argument $array is not an array return; } } function html_show_array($array){ echo "<table cellspacing=\"0\" border=\"2\">\n"; show_array($array, 1, 0); echo "</table>\n"; } |
||
Časová prodleva: 9 let
|
0