- define (_DEBUG_HTML_INDENT_STEP, 20);
- define (_DEBUG_HTML_RETURN, '<br>');
-
-
-
-
- // Fonction à utiliser.
- function debug_html_var_dump($mixed, $display=true)
- {
- $str = _debug_html_var_dump_rec($mixed, 0);
- $str = '<div style="font-family:Arial">'. $str .'</div>';
-
- if ($display)
- echo($str);
- return $str;
- }
-
-
-
-
- // Fonction récursive effetuant le traitement de la
- // variable $mixed passée en paramètre.
- function _debug_html_var_dump_rec($mixed, $deep=0)
- {
- // Si la variable rencontrée est tout sauf un tableau...
- if (!isset($mixed) || is_null($mixed) || !is_array($mixed))
- return _html_var($mixed);
-
- // Si la variable rencontrée est un tableau...
- $buffer = '';
- $is_first = true;
- foreach ($mixed as $key=>$value)
- {
- $buffer .= ($deep==0 && $is_first) ? '' : _DEBUG_HTML_RETURN;
- $buffer .= _html_indent($deep);
- $buffer .= _html_array_key($key);
-
- if (is_array($value))
- $buffer.= _html_var($value);
-
- $buffer .= _debug_html_var_dump_rec($value, $deep+1);
- $is_first = false;
- }
-
- return $buffer;
- }
-
-
-
-
- // Retourne le code HTML permettant l'affichage d'une variable.
- function _html_var($var)
- {
- $buffer = '<i style="color:gray;">'.gettype($var).'</i> ';
- if (is_string($var))
- $var = '"'. $var .'"';
- $buffer .= '<span>'.$var.'</span>';
-
- return $buffer;
- }
-
-
-
-
- // Retourne le code HTML permettant d'indenter
- // les données.
- function _html_indent($size)
- {
- $padding = _DEBUG_HTML_INDENT_STEP * $size;
- return '<span style="padding-right:'. $padding .'px; "> </span>';
- }
-
-
-
-
- // Retourne le code HTML permettant l'affichage
- // d'une clé d'un tableau.
- function _html_array_key($key)
- {
- if (is_string($key))
- $key = '"'. $key .'"';
-
- $buffer = '<span style="color:blue; ">[</span>';
- $buffer .= htmlentities($key, ENT_QUOTES);
- $buffer .= '<span style="color:blue; ">]</span> ';
-
- return $buffer;
- }
define (_DEBUG_HTML_INDENT_STEP, 20);
define (_DEBUG_HTML_RETURN, '<br>');
// Fonction à utiliser.
function debug_html_var_dump($mixed, $display=true)
{
$str = _debug_html_var_dump_rec($mixed, 0);
$str = '<div style="font-family:Arial">'. $str .'</div>';
if ($display)
echo($str);
return $str;
}
// Fonction récursive effetuant le traitement de la
// variable $mixed passée en paramètre.
function _debug_html_var_dump_rec($mixed, $deep=0)
{
// Si la variable rencontrée est tout sauf un tableau...
if (!isset($mixed) || is_null($mixed) || !is_array($mixed))
return _html_var($mixed);
// Si la variable rencontrée est un tableau...
$buffer = '';
$is_first = true;
foreach ($mixed as $key=>$value)
{
$buffer .= ($deep==0 && $is_first) ? '' : _DEBUG_HTML_RETURN;
$buffer .= _html_indent($deep);
$buffer .= _html_array_key($key);
if (is_array($value))
$buffer.= _html_var($value);
$buffer .= _debug_html_var_dump_rec($value, $deep+1);
$is_first = false;
}
return $buffer;
}
// Retourne le code HTML permettant l'affichage d'une variable.
function _html_var($var)
{
$buffer = '<i style="color:gray;">'.gettype($var).'</i> ';
if (is_string($var))
$var = '"'. $var .'"';
$buffer .= '<span>'.$var.'</span>';
return $buffer;
}
// Retourne le code HTML permettant d'indenter
// les données.
function _html_indent($size)
{
$padding = _DEBUG_HTML_INDENT_STEP * $size;
return '<span style="padding-right:'. $padding .'px; "> </span>';
}
// Retourne le code HTML permettant l'affichage
// d'une clé d'un tableau.
function _html_array_key($key)
{
if (is_string($key))
$key = '"'. $key .'"';
$buffer = '<span style="color:blue; ">[</span>';
$buffer .= htmlentities($key, ENT_QUOTES);
$buffer .= '<span style="color:blue; ">]</span> ';
return $buffer;
}