Saída de dados em PHP: print vs echo vs printf vs var_dump vs print_r

PHP fornece-nos muitas formas de saída de dados para uma tela. Na maioria das vezes, os desenvolvedores de PHP usam essas funções integradas de forma intercambiável. Cada função tem um caso de uso específico e no final deste artigo você saberá como usá-las corretamente.

var_dump e print_r são usadas especificamente para sair variáveis enquanto print, printf e echo são usadas para sair strings que podem incluir concatenação, variáveis e HTML.

O que é var_dump?

A função var_dump basicamente “despeja informação sobre uma variável” em um formato estruturado. Esta função também pode aceitar múltiplos argumentos.

Código:
$b = 3.1;
$c = verdadeiro;
var_dump($b, $c);

Saída:
float(3.1)
bool(verdadeiro)

O que é print_r?

A função print_r “imprime informação legível por humanos sobre uma variável”. Esta função quanto aos parâmetros. Um para a expressão a ser impressa e o outro para retornar a saída. Se definida como TRUE esta função irá retornar a informação em vez de imprimi-la.

$b = array (‘m’ => ‘monkey’, ‘foo’ => ‘bar’, ‘x’ => array (‘x’, ‘y’, ‘z’));
$resultados = print_r($b, true); // $resultados agora contém a saída de print_r

Similaridades entre var_dump e print_r?

  1. Dados de ambas as variáveis de saída
  2. Alguns precisam de parênteses para funcionar

Diferença entre var_dump e print_r?

  1. print_r pode retornar um valor enquanto var_dump não pode
  2. var_dump pode gerar múltiplas variáveis

O que é impressão?

Esta função gera uma string e retorna um valor de 1

O que é eco?

Esta função só produz uma string

O que é printf

Esta função produz uma string formatada

Similitudes entre impressão, eco e printf?

  1. echo é mais rápido que imprimir e imprimir
  2. impressão tem um valor de retorno de 1 enquanto os outros não

Diferença entre impressão, eco e printf?

  1. print_r pode retornar um valor, var_dump can’t
  2. var_dump pode retornar múltiplas variáveis
  3. printf produz uma string formatada
  4. echo pode levar mais de um argumento enquanto o print só pode levar um

Deixe uma resposta

O seu endereço de email não será publicado.