ooo...oooo... I can answer this one 🙂
Because [echo] is a language construct and not a function, it does not know how to handle complex datatypes.
print_r -- Prints human-readable information about a variable
print_r() displays information about a variable in a way that's readable by humans. If given a string, integer or float, the value itself will be printed.
If given an array, values will be presented in a format that shows keys and elements. Similar notation is used for objects.