Quando estudamos o básico do PHP, mostramos como o comando echo() pode ser usado para a saída de valores de uma expressão, incluindo a de uma única variável. Embora o echo() seja extremamente útil, ele apresenta algumas limitações que restringem sua utilidade em determinadas situações. Por exemplo, quando debugamos um script, muitas vezes precisamos ver não apenas o valor de uma expressão, mas também seu tipo. Outro problema com o echo() está no fato de que é incapaz de lidar com tipos de dados compostos, como matrizes e objetos.
Para evitar esse problema, o PHP fornece duas funções que podem ser usadas para imprimir o valor de uma variável recursivamente: print_r() e var_dump(). Eles diferem entre si em alguns poucos pontos:
- Embora ambas as funções imprimem recursivamente o conteúdo de valor composto, apenas var_dump() envia os tipos de dados de cada valor.
- Apenas var_dump() é capaz de reproduzir o valor de mais de uma variável ao mesmo tempo
- print_r() Só pode retornar a sua saída como uma string, em vez de escrevê-lo no padrão de saída do script.
Seja o echo(), var_dump() ou print_r(). Pode ser utilizado em qualquer dado o cenário, claramente, depende do que você esteja tentando alcançar. De um modo geral, o ECHO() abrange a maioria das suas bases, enquanto var_dump() e print_r() oferecem uma forma mais especializada de funcionalidades que funciona bem como um auxílio na depuração.