Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Codeprüfung (1) ----- Debugging-Funktion

PHP-Codeprüfung (1) ----- Debugging-Funktion

不言
不言Original
2018-04-03 14:13:581730Durchsuche

Der Inhalt dieses Artikels dient dazu, die Debugging-Funktionen mit Ihnen zu teilen. Interessierte können einen Blick darauf werfen und Studenten, die Hilfe benötigen, Hinweise geben


  • Die beiden grundlegendsten Ausgabemethoden echo und print

/**
*echo 是一个语言结构,有无括号均可使用:echo 或 echo()
*///打印字符串echo "hello";
echo("hello");//打印变量$text="learn php";
echo $text;
echo($text);

/**
print 也是语言结构,有无括号均可使用:print 或 print()
*///打印字符串print "hello";
print("hello");//打印变量$text="learn php";
print $text;
print($text);


Unterschiede zwischen echo und print:

echo – kann mehr als einen String ausgeben
print – kann nur einen String ausgeben und gibt immer 1 zurück
Tipp: echo ist etwas schneller als print, da kein Wert zurückgegeben wird


  • Der Unterschied zwischen doppelten und einfachen Anführungszeichen

Doppelte Anführungszeichen analysieren Variablen
Einfache Anführungszeichen analysieren keine Variablen

 $str1="hello"; $str2="php"; echo "$str1";//输出:hello echo '$str2';//输出:$str2
  • print_r()-Funktion

print_r() zeigt leicht verständliche Informationen zu einer Variablen an. Wenn ein String, eine Ganzzahl
oder ein Float angegeben wird, wird der Variablenwert selbst ausgegeben. Wenn ein Array angegeben ist, werden die Schlüssel
und Elemente in einem bestimmten Format angezeigt. Das Objekt ähnelt einem Array.
Denken Sie daran, dass print_r() den Array-Zeiger an das Ende verschiebt. Verwenden Sie reset(), um den Zeiger an den Anfang zurückzusetzen.

//打印string$str1="hello";
print_r($str1);
print_r("hello");//打印integer$num=1024;
print_r($num);
print_r(1024);//打印float$num=1024.1024;
print_r($num);
print_r(1024.1024);//打印array
 $cars=array("Volvo","BMW","Toyota");
 print_r($cars);/*打印结果
Array ( [0] => Volvo [1] => BMW [2] => Toyota )
*/
  • *var_dump()-Funktion
    var_dump()-Methode, bestimmt den Typ und die Länge einer Variablen und gibt den Wert der Variablen aus Wert, die Ausgabe ist der Wert der Variablen und der Rückgabedatentyp. für präzises Debuggen.
    Zeigt Strukturinformationen zu einem oder mehreren Ausdrücken an, einschließlich Ausdruckstyp und -wert. Arrays erweitern Werte rekursiv und zeigen ihre Struktur durch Einrückung.

 $cars=array("Volvo","BMW","Toyota");
 var_dump($cars); /* 打印结果
 E:\wamp64\www\test.php:56:
array (size=3)
  0 => string 'Volvo' (length=5)
  1 => string 'BMW' (length=3)
  2 => string 'Toyota' (length=6)
 */


 $n=null;
 var_dump($n); /*打印结果
 E:\wamp64\www\test.php:59:null
 */
  • var_export()-Funktion
    var_export()-Funktion gibt Strukturinformationen über die an diese Funktion übergebene Variable It zurück ähnelt var_dump(), außer dass die zurückgegebene Darstellung legalen PHP-Code ist. var_export muss legalen PHP-Code zurückgeben. Mit anderen Worten: Der von var_export zurückgegebene Code kann direkt einer Variablen als PHP-Code zugewiesen werden. Und diese Variable erhält denselben Werttyp wie var_export.

Beachten Sie drei Punkte:
1.var_export() behält immer die strukturierte Form zum Speichern von Daten
2 : Der Typ des Variablenwerts ist zu diesem Zeitpunkt bereits eine Zeichenfolge ($var) und der Wert kann nicht mehr in Form eines Arrays entnommen werden
3 var_export gibt NULL aus

 $cars=array("Volvo","BMW","Toyota");
 var_export($cars);
 /*打印结果
 array ( 0 => 'Volvo', 1 => 'BMW', 2 => 'Toyota', )
 */
  • debug_zval_dump() function debug_zval_dump() Das Ausgabeergebnis ähnelt var_dump(). Der einzige zusätzliche Wert ist refcount, der aufzeichnet, wie oft eine Variable verwendet wird Dies ist eine wichtige Funktion des Copy-on-Write-Mechanismus (Copy-on-Write) von PHP.

 $cars=array("Volvo","BMW","Toyota");
 debug_zval_dump($cars);
 /*打印结果  array(3) refcount(2){ [0]=> string(5) "Volvo" refcount(1) [1]=> string(3) "BMW" refcount(1) [2]=> string(6) "Toyota" refcount(1) }
 */
  • Exit()-Funktion Programmausführung beenden

  • Die beiden grundlegendsten Ausgabemethoden Echo und Print

/**
*echo 是一个语言结构,有无括号均可使用:echo 或 echo()
*///打印字符串echo "hello";
echo("hello");//打印变量$text="learn php";
echo $text;
echo($text);

/**
print 也是语言结构,有无括号均可使用:print 或 print()
*///打印字符串print "hello";
print("hello");//打印变量$text="learn php";
print $text;
print($text);

Unterschiede zwischen Echo und Print:

echo – kann mehr als eine Zeichenfolge ausgeben

print – kann nur eine Zeichenfolge ausgeben und gibt immer 1 zurück
Tipp: echo ist etwas schneller als print, da es keinen Wert zurückgibt


  • Der Unterschied zwischen doppelten und einfachen Anführungszeichen

Parsing-Variablen in doppelten Anführungszeichen

Einfache Anführungszeichen Variablen nicht auflösen

 $str1="hello"; $str2="php"; echo "$str1";//输出:hello echo '$str2';//输出:$str2
  • print_r() Funktion

print_r() zeigt Informationen über eine Variable von an leicht verständliche Informationen. Wenn ein String, eine Ganzzahl

oder ein Float angegeben wird, wird der Variablenwert selbst ausgegeben. Wenn ein Array angegeben wird, werden die Schlüssel
und Elemente in einem bestimmten Format angezeigt. Das Objekt ähnelt einem Array.
Denken Sie daran, dass print_r() den Array-Zeiger an das Ende verschiebt. Verwenden Sie reset(), um den Zeiger an den Anfang zurückzusetzen.

//打印string$str1="hello";
print_r($str1);
print_r("hello");//打印integer$num=1024;
print_r($num);
print_r(1024);//打印float$num=1024.1024;
print_r($num);
print_r(1024.1024);//打印array
 $cars=array("Volvo","BMW","Toyota");
 print_r($cars);/*打印结果
Array ( [0] => Volvo [1] => BMW [2] => Toyota )
*/
  • *var_dump()-Funktion

    var_dump()-Methode, bestimmt den Typ und die Länge einer Variablen und gibt den Wert der Variablen aus Wert, die Ausgabe ist der Wert der Variablen und der Rückgabedatentyp. für präzises Debuggen.
    Zeigt Strukturinformationen zu einem oder mehreren Ausdrücken an, einschließlich Ausdruckstyp und -wert. Arrays erweitern Werte rekursiv und zeigen ihre Struktur durch Einrückung.

 $cars=array("Volvo","BMW","Toyota");
 var_dump($cars); /* 打印结果
 E:\wamp64\www\test.php:56:
array (size=3)
  0 => string 'Volvo' (length=5)
  1 => string 'BMW' (length=3)
  2 => string 'Toyota' (length=6)
 */


 $n=null;
 var_dump($n); /*打印结果
 E:\wamp64\www\test.php:59:null
 */
  • var_export()-Funktion var_export()-Funktion gibt Strukturinformationen über die an diese Funktion übergebenen Variablen zurück ähnelt var_dump(), außer dass die zurückgegebene Darstellung legalen PHP-Code ist. var_export muss legalen PHP-Code zurückgeben. Mit anderen Worten: Der von var_export zurückgegebene Code kann direkt einer Variablen als PHP-Code zugewiesen werden. Und diese Variable erhält denselben Werttyp wie var_export.

Beachten Sie drei Punkte: 1.var_export() behält immer die strukturierte Form zum Speichern von Daten
2 : Der Typ des Variablenwerts ist zu diesem Zeitpunkt bereits ein String ($var), und der darin enthaltene Wert kann nicht mehr in Form eines Arrays entnommen werden
3 var_export gibt NULL
für den Ressourcentyp aus Variablen

 $cars=array("Volvo","BMW","Toyota");
 var_export($cars);
 /*打印结果
 array ( 0 => 'Volvo', 1 => 'BMW', 2 => 'Toyota', )
 */

  • debug_zval_dump()函数
    debug_zval_dump() 输出结果跟 var_dump 类似,唯一增加的一个值是 refcount,就是记录一个变量被引用了多少次,这是 php 的 copy on write (写时复制) 的机制的一个重要特点。

 $cars=array("Volvo","BMW","Toyota");
 debug_zval_dump($cars);
 /*打印结果  array(3) refcount(2){ [0]=> string(5) "Volvo" refcount(1) [1]=> string(3) "BMW" refcount(1) [2]=> string(6) "Toyota" refcount(1) }
 */
  • exit()函数
    终止程序运行

相关推荐:

PHP调试函数和日志记录函数分享,调试日志记录_PHP教程

Das obige ist der detaillierte Inhalt vonPHP-Codeprüfung (1) ----- Debugging-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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