Introduction détaillée aux différences entre echo print() print_r() var_dump() en PHP lors du débogage

黄舟
Libérer: 2023-03-07 06:26:01
original
1814 Les gens l'ont consulté

echo

Affiche une ou plusieurs valeurs (String), séparées par des virgules. echo est une construction de langage, pas une véritable fonction, elle ne peut donc pas être utilisée dans le cadre d'une expression.

print()

La fonction print() imprime une valeur (son paramètre) si la chaîne réussit. vrai si affiché, faux sinon. Identique à l'écho, mais plus lent que l'écho.

print_r()

Vous pouvez simplement imprimer des chaînes et des nombres. Si une chaîne, un entier ou un flottant est donné, il imprimera le. valeur variable elle-même. l'objet est similaire à un tableau. Les tableaux, en revanche, sont affichés sous la forme d'une liste de clés et de valeurs entre parenthèses, commençant par Array. N'oubliez pas que print_r() déplacera le pointeur du tableau vers la fin. Utilisez reset() pour ramener le pointeur au début.

$arr = array('name'=> 'bob','age' => 20, 'sex' => 'man');

print_r($arr);
Copier après la connexion

La sortie est sous la forme :

Array{
     [name] => bob,

     [age] => 20,

     [sex] => man
}
Copier après la connexion

Mais oui, cela n'a aucun sens d'utiliser print_r() pour afficher les valeurs booléennes et NULL:

Par exemple :

print_r(true);           //输出1
print_r(false);          //没有输出
print_r(null);          //没有输出
Copier après la connexion

Les résultats de print_r() qui génèrent des valeurs booléennes et NULL n'ont aucun sens, car ils affichent tous "n". Par conséquent, l’utilisation de la fonction var_dump() est plus adaptée au débogage.

var_dump()

Déterminez le type et la longueur d'une variable et affichez la valeur de la variable si la variable a une valeur. , la sortie est la valeur de la variable et renvoie type de données . Cette fonction affiche des informations structurelles sur une ou plusieurs expressions, y compris le type et la valeur de l'expression. Les tableaux développeront récursivement les valeurs, montrant leur structure via l'indentation.

var_dump(true); //输出 bool(true)
var_dump(false);   // bool(false)
var_dump(null);   // bool(null)
var_dump(array('name' => 'bob', 'age' => 20));
array(2) {
    ['name'] => string(3) 'bob'
    ['age'] => int(20)
}
Copier après la connexion

var_export()

Similaire à print_r et var_dump, mais rarement utilisé.

La différence entre var_dump et print_r

var_dump renvoie le type et la valeur de l'expression tandis que print_r renvoie uniquement le résultat par rapport au code de débogage. , utiliser var_dump est plus pratique Facile à lire.

 Les différences entre print_r(), var_export() et var_dump() sont les suivantes :

Sortie d'un tableau bidimensionnel  :

$arr=array(        
array('a'=>'aa','b'=>'bbb','c'=>'ccc'),        
array('a'=>'ddd','b'=>'eee','c'=>'fff'), 
        array('a'=>'gg','b'=>'hh')
);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr);echo "
";echo "
";
var_export($arr);echo "
";echo "
";
var_dump($arr);echo "
";
Copier après la connexion

La sortie de print_r($arr)

Array(
    [0] => Array
        (
            [a] => aa
            [b] => bbb
            [c] => ccc
        )

    [1] => Array
        (
            [a] => ddd
            [b] => eee
            [c] => fff
        )

    [2] => Array
        (
            [a] => gg
            [b] => hh
        )

)
Copier après la connexion

La sortie de var_export($arr)

array (  0 => 
  array (    &#39;a&#39; => &#39;aa&#39;,    &#39;b&#39; => &#39;bbb&#39;,    &#39;c&#39; => &#39;ccc&#39;,
  ),  1 => 
  array (    &#39;a&#39; => &#39;ddd&#39;,    &#39;b&#39; => &#39;eee&#39;,    &#39;c&#39; => &#39;fff&#39;,
  ),  2 => 
  array (    &#39;a&#39; => &#39;gg&#39;,    &#39;b&#39; => &#39;hh&#39;,
  ),
)
Copier après la connexion

var_dump( $arr ) résultat de la sortie

array (size=3)  0 => 
    array (size=3)    &#39;a&#39; => string &#39;aa&#39; (length=2)     &#39;b&#39; => string &#39;bbb&#39; (length=3)     &#39;c&#39; => string &#39;ccc&#39; (length=3)  1 => 
    array (size=3)    &#39;a&#39; => string &#39;ddd&#39; (length=3)  &#39;b&#39; => string &#39;eee&#39; (length=3)   &#39;c&#39; => string &#39;fff&#39; (length=3)  2 => 
    array (size=2)    &#39;a&#39; => string &#39;gg&#39; (length=2)     &#39;b&#39; => string &#39;hh&#39; (length=2)
Copier après la connexion

Une sortie au format json est donnée ci-dessous :

$arr=array(array(&#39;a&#39;=>&#39;aa&#39;,&#39;b&#39;=>&#39;bbb&#39;,&#39;c&#39;=>&#39;ccc&#39;),           
array(&#39;a&#39;=>&#39;ddd&#39;,&#39;b&#39;=>&#39;eee&#39;,&#39;c&#39;=>&#39;fff&#39;),           
array(&#39;a&#39;=>&#39;gg&#39;,&#39;b&#39;=>&#39;hh&#39;));
$arra=json_encode($arr);echo "<pre class="brush:php;toolbar:false">";
print_r($arra);echo "
";echo "
";
var_export($arra)echo "
";echo "
";
var_dump($arra);echo "
";
Copier après la connexion

print_r($arra) output

[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]
Copier après la connexion

sortie var_export($arra)

'[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]'
Copier après la connexion

sortie var_dump($arra)

string '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]' (length=84)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!