3. Podrobné výpisy v PHP

Pro výpisy a nejen ty podrobné využíváme především tyto tři způsoby:

  1. příkaz echo
  2. funkce print_r
  3. funkce var_dump

Příkaz echo

Nejčastější metoda pro výpis dat. Dobře postačí na jednoduché datové typy a to čísla a řetězce.

Funkce print_r

Je to daleko univerzálnější řešení, dokáže vypsat jakoukoliv hodnotu a to i tam, kde příkaz echo nestačí.

Rozdíly mezi echo a print_r:

  • zápis – print_r je funkce a proto se musí hodnota vypisovat do závorek (tak jako u každé jiné funkce), zatímco u příkazu echo se závorky používat nemusejí, ale mohou.
  • počet vypsaných hodnot – echo umí vypsat více hodnot najednou, kdežto funkce print_r umí vypsat pouze jednu
  • výpis složitějších dat – echo umí pouze řetězec a číslo. Print_r umí cokoliv

Funkce var_dump

Další možností pro výpis dat je funkce var_dump. Tato funkce se liší tím, že kromě samotných dat vypíše i typ, o který se jedná:

<?php
var_dump("Adam");
//vypíše: string(4) "Adam"
?>

Slovo string je anglický název pro řetězec a PHP jej používá kdykoliv chce říci, že pracuje s řetězcem. Za slovem string je v závorce uvedena číslice 4, čímž je řečeno, že obsahuje 4 znaky. Pak následuje v uvozovkách již vlastní řetězec, tedy Adam.

Proto této funkci říkáme diagnostická, jejímž účelem je především podat maximální informace o nějakých datech v PHP. Pro běžné výpisy se využívají první dva předchozí způsoby.

Vyzkoušejte např. tyto další příklady. Vložte za slovo Adam jednu či více mezer a sledujte, jaký je mezi nimi rozdíl a to včetně zobrazení zdrojového kódu:

<?php
var_dump("Adam     ");
// ale vypíše:
string(9) "Adam " 
?>