Maison >développement back-end >tutoriel php >Audit du code PHP (1)-----Fonction de débogage

Audit du code PHP (1)-----Fonction de débogage

不言
不言original
2018-04-03 14:13:581815parcourir

Le contenu de cet article est de partager avec vous les fonctions de débogage. Les amis intéressés peuvent y jeter un œil et peuvent également fournir des références aux étudiants qui ont besoin d'aide


  • Les deux méthodes de sortie les plus basiques echo et 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);


Différences entre echo et print :

echo - capable de générer plus d'une chaîne

print - ne peut produire qu'une seule chaîne et renvoie toujours 1
Astuce : echo est légèrement plus rapide que l'impression car il ne renvoie aucune valeur


  • La différence entre les guillemets doubles et les guillemets simples

Les guillemets doubles analysent les variables

Les guillemets simples n'analysent pas les variables

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

print_r() affiche des informations faciles à comprendre sur une variable. Si une chaîne, un entier

ou un float est donné, la valeur de la variable elle-même sera imprimée. Si un tableau est donné, les clés
et les éléments seront affichés dans un certain format. l'objet est similaire à un tableau.
N'oubliez pas que print_r() déplacera le pointeur du tableau vers la fin. Utilisez reset() pour ramener le pointeur au début.

//打印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 )
*/
  • *fonction var_dump()

    méthode var_dump(), détermine le type et la longueur d'une variable et affiche la valeur de la variable si la variable a un. value, la sortie est la valeur de la variable et le type de données de retour. pour un débogage précis.
    Affiche des informations structurelles sur une ou plusieurs expressions, y compris le type et la valeur de l'expression. Les tableaux développeront les valeurs de manière récursive, montrant leur structure par indentation.

 $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
 */
  • Fonction var_export() La fonction var_export() renvoie des informations structurelles sur la variable transmise à cette fonction. est similaire à var_dump(), sauf que la représentation renvoyée est du code PHP légal. var_export doit renvoyer du code PHP légal. En d'autres termes, le code renvoyé par var_export peut être directement affecté à une variable en tant que code PHP. Et cette variable obtiendra le même type de valeur que var_export.

Notez trois points : 1.var_export() conservera toujours la forme structurée pour stocker les données
2. : Le type de valeur de variable à ce moment est déjà une chaîne ($var), et la valeur ne peut plus être extraite sous la forme d'un tableau
3 var_export affichera NULL

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

    debug_zval_dump() Le résultat de sortie est similaire à var_dump La seule valeur ajoutée est refcount, qui enregistre le nombre de fois qu'une variable. est référencé. Il s'agit d'une fonctionnalité importante du mécanisme de copie en écriture de 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) }
 */
  • fonction exit()

    Terminer l'exécution du programme

  • Les deux méthodes de sortie les plus élémentaires echo et 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);
Entre echo et print Différences :

echo - capable de générer plus d'une chaîne

print - ne peut générer qu'une seule chaîne et renvoie toujours 1

Astuce : echo est légèrement plus rapide que print car il ne renvoie aucune valeur


  • La différence entre les guillemets doubles et les guillemets simples

  • Variables d'analyse des guillemets doubles
Guillemets simples ne pas résoudre les variables


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

  • print_r() affiche des informations sur une variable de informations faciles à comprendre. Si une chaîne, un entier
ou un float est donné, la valeur de la variable elle-même sera imprimée. Si un tableau est donné, les clés

et les éléments seront affichés dans un certain format. l'objet est similaire à un tableau.
N'oubliez pas que print_r() déplacera le pointeur du tableau vers la fin. Utilisez reset() pour ramener le pointeur au début.

//打印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 )
*/
    *fonction var_dump()
  • méthode var_dump(), détermine le type et la longueur d'une variable et affiche la valeur de la variable si la variable a un. value, la sortie est la valeur de la variable et le type de données de retour. pour un débogage précis.

    Affiche des informations structurelles sur une ou plusieurs expressions, y compris le type et la valeur de l'expression. Les tableaux développeront les valeurs de manière récursive, montrant leur structure par indentation.

 $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
 */
  • Fonction var_export()

    La fonction var_export() renvoie des informations structurelles sur les variables transmises à cette fonction. est similaire à var_dump(), sauf que la représentation renvoyée est du code PHP légal. var_export doit renvoyer du code PHP légal. En d'autres termes, le code renvoyé par var_export peut être directement affecté à une variable en tant que code PHP. Et cette variable obtiendra le même type de valeur que var_export.

Notez trois points :

1.var_export() conservera toujours la forme structurée pour stocker les données 2. : Le type de valeur de variable à ce moment est déjà une chaîne ($var), et la valeur à l'intérieur ne peut plus être extraite sous la forme d'un tableau
3 var_export affichera NULL
pour le type de ressource. variables

 $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教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn