<?php
/**
* Igual a la funcion original PHP 'var_export(...)', pero mejorados los arrays (de forma recursiva)
* <p>DESCARGADO DE php.net: http://es1.php.net/manual/es/function.var-export.php. AUTHOR: linus at flowingcreativity dot net</p>
**/
function var_export_min($var, $return = false) {
if (is_array($var)) {
$toImplode = array();
foreach ($var as $key => $value) {
$toImplode[] = var_export($key, true).'=>'.var_export_min($value, true);
}
$code = 'array('.implode(',', $toImplode).')';
if ($return) return $code; else echo $code;
} else {
return var_export($var, $return);
}
}
/**
* <p>DESCARGADO DE php.net: http://es1.php.net/manual/es/function.var-export.php. AUTHOR: wyattstorch42 at outlook dot com</p>
* <p>Igual a la funcion original PHP 'var_export(...)', pero mejorados los arrays (de forma recursiva), y corregido un bug
* con los objetos <b>StdClass()</b> que no implementan el metodo <b>__set_state()</b></p>
* An implementation of var_export() that is compatible with instances of stdClass.
* <pre>
*
// Example usage:
$obj = new stdClass;
$obj->test = 'abc';
$obj->other = 6.2;
$obj->arr = array (1, 2, 3);
improved_var_export((object) array (
'prop1' => true,
'prop2' => $obj,
'assocArray' => array (
'apple' => 'good',
'orange' => 'great'
)
));
Output:
(object) array ('prop1' => true, 'prop2' => (object) array ('test' => 'abc', 'other' => 6.2,
'arr' => array (0 => 1, 1 => 2, 2 => 3)), 'assocArray' => array ('apple' => 'good', 'orange' => 'great'))
* </pre>
* @param mixed $variable The variable you want to export
* @param bool $return If used and set to true, improved_var_export()
* will return the variable representation instead of outputting it.
* @return mixed|null Returns the variable representation when the
* return parameter is used and evaluates to TRUE. Otherwise, this
* function will return NULL.
*/
function improved_var_export ($variable, $return = false) {
if ($variable instanceof stdClass) {
$result = '(object) '.improved_var_export(get_object_vars($variable), true);
} else if (is_array($variable)) {
$array = array ();
foreach ($variable as $key => $value) {
$array[] = var_export($key, true).' => '.improved_var_export($value, true);
}
$result = 'array ('.implode(', ', $array).')';
} else {
$result = var_export($variable, true);
}
if (!$return) {
print $result;
return null;
} else {
return $result;
}
}
/**
* Here's a very useful function to translate <b>Microsoft</b> characters into <b>Latin 15</b>, so that people won't see any more
* square instead of characters in web pages .
**/
function demicrosoftize($str) {
return strtr($str,
"\x82\x83\x84\x85\x86\x87\x89\x8a" .
"\x8b\x8c\x8e\x91\x92\x93\x94\x95" .
"\x96\x97\x98\x99\x9a\x9b\x9c\x9e\x9f",
"'f\".**^\xa6<\xbc\xb4''" .
"\"\"---~ \xa8>\xbd\xb8\xbe");
}
?>
|