var_dump

var_dump($hodnota, …)

Vypíše typ a hodnotu jedné nebo více proměnných, u polí a objektů celou strukturu. Je to základní nástroj ladění: na rozdíl od echo nebo print_r ukáže i typ a délku textu v bajtech.

Parametry

  • $hodnota – vypisovaná hodnota. Vypsat jde víc hodnot najednou.

Příklady

var_dump(42); // int(42)
var_dump("abc"); // string(3) "abc"
// délka textu je v bajtech
var_dump("žába"); // string(6) "žába"
// víc hodnot najednou
var_dump(1.5, true, null); // float(1.5) bool(true) NULL
// pole včetně struktury
var_dump(array("a" => 1, "b" => array(2))); // array(2) { ["a"]=> int(1) ["b"]=> array(1) { [0]=> int(2) } }
// typ rozhoduje
var_dump("5" == 5, "5" === 5); // bool(true) bool(false)
// desetinná čísla v plné přesnosti
var_dump(0.1 + 0.2); // float(0.30000000000000004)
// výpis do proměnné
ob_start(); var_dump(10); $vypis = ob_get_clean();
echo trim($vypis); // int(10)

Na co si dát pozor

  • Nic nevrací, jen vypisuje. Do proměnné výpis dostanete přes výstupní buffer (ob_start a ob_get_clean) jako v příkladu.
  • Rozšíření Xdebug výpis přebírá a mění jeho vzhled (barvy, HTML). Stejný kód pak vypadá na vývojovém počítači jinak než na serveru.
  • Ladicí výpisy na ostrém webu nenechávejte. Mohou prozradit hesla, cesty na serveru nebo strukturu databáze.
  • U objektů vypisuje i jejich pořadové číslo (#1, #2), které se mezi spuštěními liší.
  • Čitelnější výpis bez typů dá print_r(), výpis jako platný kód PHP var_export().

Příbuzné funkce:
print_r()
var_export()
gettype()