/** * Returns HTML-code, which is a visual representation of a multidimensional array * use div::print_array() in order to print an array * Returns false if $array_in is not an array * * @param mixed Array to view * @return string HTML output */ public static function view_array($array_in) { if (is_array($array_in)) { $result = ' <table border="1" cellpadding="1" cellspacing="0" bgcolor="white">'; if (count($array_in) == 0) { $result .= '<tr><td><font face="Verdana,Arial" size="1"><b>EMPTY!</b></font></td></tr>'; } else { foreach ($array_in as $key => $val) { $result .= '<tr> <td valign="top"><font face="Verdana,Arial" size="1">' . htmlspecialchars((string) $key) . '</font></td> <td>'; if (is_array($val)) { $result .= div::view_array($val); } elseif (is_object($val)) { $string = get_class($val); if (method_exists($val, '__toString')) { $string .= ': ' . (string) $val; } $result .= '<font face="Verdana,Arial" size="1" color="red">' . nl2br(htmlspecialchars($string)) . '<br /></font>'; } else { if (gettype($val) == 'object') { $string = 'Unknown object'; } else { $string = (string) $val; } $result .= '<font face="Verdana,Arial" size="1" color="red">' . nl2br(htmlspecialchars($string)) . '<br /></font>'; } $result .= '</td> </tr>'; } } $result .= '</table>'; } else { $result = '<table border="1" cellpadding="1" cellspacing="0" bgcolor="white"> <tr> <td><font face="Verdana,Arial" size="1" color="red">' . nl2br(htmlspecialchars((string) $array_in)) . '<br /></font></td> </tr> </table>'; // Output it as a string. } return $result; }