Exemplo n.º 1
0
    /**
     * 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;
    }