Not sure if these will help but give them a try on arrays and objects.
PHP Code:
// -----------------------------------------------------------------------
/**
* objectToArray ()
*/
if ( ! function_exists('objectToArray'))
{
/**
* objectToArray ()
* -------------------------------------------------------------------
*
* @param $data
* @return array
*/
function objectToArray($data)
{
if (is_object($data))
{
/**
* Gets the properties of the given object
* with get_object_vars function
*/
$data = get_object_vars($data);
}
/**
* Return array converted to object Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return (is_array($data))
? array_map(__FUNCTION__, $data)
: $data;
}
}
// -----------------------------------------------------------------------
/**
* arrayToObject ()
*/
if ( ! function_exists('arrayToObject'))
{
/**
* arrayToObject ()
* -------------------------------------------------------------------
*
* @param $data
* @return object
*/
function arrayToObject($data)
{
/**
* Return array converted to object Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return (is_array($data))
? (object) array_map(__FUNCTION__, $data)
: $data;
}
}
Just place those in a CodeIgniter helper.
They will also handle multi-objects and multi-arrays
And you can add this for nice output of dumps.
PHP Code:
// -----------------------------------------------------------------------
/**
* varDebug () - Add this method to a CodeIgniter Helper.
* -----------------------------------------------------------------------
*
* Formatted output of var_dump() or print_r() see comment below etc;
*/
if ( ! function_exists('varDebug'))
{
/**
* Debug Helper
* -------------------------------------------------------------------
* Outputs the given variable(s) with color formatting and location
*
* @param mixed - variables to be output
*/
function varDebug()
{
list($callee) = debug_backtrace();
$arguments = func_get_args();
$total_arguments = func_num_args();
echo '<div><fieldset style="background: #fefefe !important; border:1px red solid; padding:15px">';
echo '<legend style="background:lightgrey; padding:5px;">'.$callee['file'].' @line: '.$callee['line'].'</legend><pre><code>';
$i = 0;
foreach ($arguments as $argument)
{
echo '<strong>Debug #'.++$i.' of '.$total_arguments.'</strong>: '.'<br>';
// You can also change this to print_r() if needed.
var_dump($argument);
}
echo "</code></pre></fieldset><div><br>";
exit;
}
}
You use it just like var_debug.
What did you Try? What did you Get? What did you Expect?
Joined CodeIgniter Community 2009. ( Skype: insitfx )