Occasionally you want to expand an object or array variable to see what it contains. Typically we would use a variation of print_r()
or var_dump()
to do this, but the down side is there is no way simple way to grab the outputted array or object data and put it back in your code. This function helps with that issue.
/** * A `print_r` or `var_dump` replacement that expands the variable into valid PHP code. * @uses var_export * @param array|object $array_or_object $variable to expand/view * @param boolean $echo Whether to return or display the data * @return string Variable representation that is valid PHP code. */ function expand_code( $array_or_object, $echo = true ) { // This is the real magic $expanded = var_export( $array_or_object, true ); // This makes object representations more reliable $expanded = str_ireplace( 'stdClass::__set_state', '(object) ', $expanded ); // Assign output to a variable $expanded = '<xmp>$expanded = '. $expanded .'</xmp>'; if ( $echo ) echo $expanded; return $expanded; }