PHP Pro Tip IV: Spara undan resultat av var_dump i en sträng
var_dump() är PHP-utvecklarens bästa vän för att kika in i en variabel och se exakt vad den innehåller (objekt, sträng eller vad det nu är) – om man nu inte använder exempelvis Xdebug.
Men låt oss säga att man vill spara undan datan i en sträng, och inte bara dumpa ut den så fort som funktionen var_dump() körs – kanske för att undvika "Cannot modify header information - headers already sent
"" – hur gör man då? Jo, som följande:
$variable = array(
'value1' => 1,
'value2' => 2,
'value3' => 3
);
// Startat "output buffer"
ob_start();
// Dumpar ut värdet av $variable
var_dump($variable);
// $result = datan i bufferten, och rensar upp
$result = ob_get_clean();
// Gör en massa andra saker
// Eka ut datan
echo("<pre>" . $result . "</pre>");
// Resultat
array(3) {
["value1"]=>
int(1)
["value2"]=>
int(2)
["value3"]=>
int(3)
}
Detta ska förmodligen dock användas sparsamt då det både blir förvirrande med allt för många förekomster i koden (när man inte har koll på om output bufferten är igång eller inte etc.) samt att påverkar prestandan något. Men för att underlätta jakten på buggar – varför inte?