Über den Unterschied zwischen var_export, print_r und var_dump beim Debuggen in PHP

不言
Freigeben: 2023-04-01 14:42:01
Original
1571 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Unterschiede zwischen var_export, print_r und var_dump Debugging in PHP vor. Er ist sehr gut und hat einen gewissen Referenzwert.

1 Typ

Code

$n = "test";
var_export($n);
print_r($n);
var_dump($n);
echo &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
file_put_contents("index.log", var_export($n, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($n, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($n) . PHP_EOL, FILE_APPEND);
Nach dem Login kopieren

Ergebnis

(1) Frontend:

'test' test /Users/xjnotxj/Program/PhpstormProject/colin/index.php:9:string 'test' (length=4) ----------------- / Benutzer /xjnotxj/Program/PhpstormProject/colin/index.php:15:string 'test' (length=4)

(2) index.log:

'test' Test

2. Ausgabearray

Code

$arr = array(
  "a" => 1,
  "b" => "222",
  "c" => 3,
);
var_export($arr);
print_r($arr);
var_dump($arr);
echo &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
file_put_contents("index.log", var_export($arr, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($arr, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($arr) . PHP_EOL, FILE_APPEND);
Nach dem Login kopieren

Ergebnis

( 1) Frontend:

array ( 'a' => 1, 'b' => '222', 'c' => 3, ) Array ( [a] = > 1 [b] => 222 [c] => 3) /Users/xjnotxj/Program/colin/index.php:13: array (size=3) 'a' => b' => string '222' (length=3) 'c' => index. php:19: array (size=3) 'a' => string '222' (length=3) 'c' => 🎜> (2) index.log:

array ( &#39;a&#39; => 1, &#39;b&#39; => &#39;222&#39;, &#39;c&#39; => 3, ) Array ( [a] => 1 [b] => 222 [c] => 3 )
Nach dem Login kopieren

3. Ausgabeobjekt

Code

class foo
{
  public $n;
  public function do_foo()
  {
    echo "Doing foo." . $this->n;
  }
}
$object = new foo;
var_export($object);
print_r($object);
var_dump($object);
echo &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
file_put_contents("index.log", var_export($object, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($object, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($object) . PHP_EOL, FILE_APPEND);
Nach dem Login kopieren

Ergebnis

(1) Frontend:

foo::__set_state(array( 'n' => NULL , ))

foo Object ( [n] => )
/Users/xjnotxj/Program/PhpstormProject/colin/index.php:19: object(foo)[1] public 'n' => null -- -------------- /Users/xjnotxj/Program/PhpstormProject/colin/index.php:25: object(foo)[1] public 'n' => null



(2) index.log:

foo::__set_state(array( &#39;n&#39; => NULL, )) foo Object ( [n] => )
Nach dem Login kopieren

Zusammenfassung:

1. Detaillierte Ausgabeergebnisse: var_export ≈ print_r < var_dump

2. Beim Debuggen muss beim Aufrufen von var_export, print_r, var_dump kein Echo hinzugefügt werden.

3. Wenn der zweite Parameter von var_export und print_r wahr ist, wird der Wert zurückgegeben. var_dump unterstützt nicht. Verwenden Sie daher var_dump nicht, wenn Sie file_put_contents zum Ausgeben des Debuggens verwenden.

4. Es wird empfohlen, var_dump direkt zum Debuggen in der Entwicklungsumgebung zu verwenden, um var_export oder print_r zum Debuggen in der Produktionsumgebung zu verwenden true, um den Ausgabewert zurückzugeben, anstatt ihn direkt an die Front-End-Einflusslinie auszugeben.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Verwenden Sie PHP, um die chinesische Pinyin-Konvertierung sowie die Gregorianische und Mondkalender-Konvertierung zu implementieren


Über PHPs move_uploaded_file( ) Funktionsanalyse von


Das obige ist der detaillierte Inhalt vonÜber den Unterschied zwischen var_export, print_r und var_dump beim Debuggen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!