PHP offers print_r()
and var_dump()
methods that can print the values of arrays and objects recursively with values indented so it’s easy to debug code. There’s no print_r
for JavaScript but OpenJS has an equivalent function for dumping variables in a structured format.
function dump(arr, level) {
var dumped_text = '';
if (!level) level = 0;
// The padding given at the beginning of the line.
var level_padding = '';
for (var j = 0; j < level + 1; j++) level_padding += ' ';
if (typeof arr == 'object') {
// Array/Hashes/Objects
for (var item in arr) {
var value = arr[item];
if (typeof value == 'object') {
// If it is an array,
dumped_text += level_padding + "'" + item + "' ...\n";
dumped_text += dump(value, level + 1);
} else {
dumped_text += level_padding + "'" + item + '\' => "' + value + '"\n';
}
}
} else {
// Stings/Chars/Numbers etc.
dumped_text = '===>' + arr + '<===(' + typeof arr + ')';
}
return dumped_text;
}