86 Stimmen

PHP var_dump()-Werte in einer Zeile pro Wert anzeigen lassen

Wenn ich echo var_dump($_variable), erhalte ich eine lange, umlaufende Zeile mit allen variablen und Werte wie

["kt_login_user"]=>  string(8) "teacher1" ["kt_login_id"]=>  string(3) "973" ["kt_campusID"]=>  string(4) "9088" ["kt_positionID"]=>  string(1) "5" 

Gibt es eine Möglichkeit, jeden Wert in einer eigenen Zeile anzuzeigen, damit er leichter abzulesen ist? Etwa so:

["kt_login_user"]=>  string(8) "teacher1" 
["kt_login_id"]=>  string(3) "973" 
["kt_campusID"]=>  string(4) "9088" 
["kt_positionID"]=>  string(1) "5"

10voto

Für mich war die richtige Antwort

echo '<pre>' . var_export($var, true) . '</pre>';

Desde var_dump($var) y var_export($var) keine Zeichenkette zurückgeben, müssen Sie var_export($var, true) zu erzwingen var_export um das Ergebnis als Wert zurückzugeben.

7voto

Aroddo Punkte 93

Verwenden Sie Ausgangspuffer: http://php.net/manual/de/function.ob-start.php

<?php
    ob_start();
    var_dump($_SERVER) ;
    $dump = ob_get_contents();
    ob_end_clean();

    echo "<pre> $dump </pre>";
?>

Eine weitere Möglichkeit wäre, dass Ausgabepufferung verwenden und alle Zeilenumbrüche im Dump umwandeln a <br> Elemente, z.B.

ob_start();
var_dump($_SERVER) ;
echo nl2br(ob_get_clean());

7voto

Stephan Weinhold Punkte 1596

Sie können drücken Ctrl + U um den Quellcode anzuzeigen. Die meisten Browser werden die Ausgabe dort aufhübschen.

var_dump ist die hässlichste Art zu debuggen.

5voto

apokryfos Punkte 34599

Ich persönlich mag die Ersetzungsfunktion, die von Symfony's var dumper Komponente

Installieren mit composer require symfony/var-dumper und verwenden Sie einfach dump($var)

Er erledigt den Rest. Ich glaube, es gibt auch ein bisschen JS dort injiziert, damit Sie mit der Ausgabe ein bisschen zu interagieren.

1voto

Ricky Boyce Punkte 1587

Für Entwickler, die etwas benötigen, das in der Quelle anzeigen とのことです。 CLI besonders nützlich beim Debuggen von Unit-Tests.

echo vd([['foo'=>1, 'bar'=>2]]);

function vd($in) {
  ob_start(); 
  var_dump($in);
  return "\n" . preg_replace("/=>[\r\n\s]+/", "=> ", ob_get_clean());
}

Ausbeute:

array(1) {
  [0] => array(2) {
    'foo' => int(1)
    'bar' => int(2)
  }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X