web-dev-qa-db-fra.com

php var_dump () vs print_r ()

Quelle est la différence entre var_dump() et print_r() pour ce qui est de cracher un tableau sous forme de chaîne?

276
ina

La fonction var_dump affiche des informations structurées sur les variables/expressions, y compris type et value. Les tableaux sont explorés de manière récursive avec des valeurs indentées pour montrer la structure. Il indique également quelles valeurs de tableau et propriétés d'objet sont des références.

print_r() affiche les informations sur une variable de manière lisible par les humains. les valeurs de tableau seront présentées dans un format qui montre keys et elements. Une notation similaire est utilisée pour les objets.

Exemple:

$obj = (object) array('qualitypoint', 'technologies', 'India');

var_dump($obj) s'affichera en dessous de la sortie à l'écran.

object(stdClass)#1 (3) {
 [0]=> string(12) "qualitypoint"
 [1]=> string(12) "technologies"
 [2]=> string(5) "India"
}

Et print_r($obj) s'affichera en dessous de la sortie à l'écran.

stdClass Object ( 
 [0] => qualitypoint
 [1] => technologies
 [2] => India
)

Plus d'informations

327
Sarfraz

Généralement, la sortie de print_r( ) est plus agréable, plus concise et plus facile à lire, c'est-à-dire plus lisible par l'homme, mais ne peut pas afficher les types de données. 

Avec print_r(), vous pouvez également stocker le résultat dans une variable:

$output = print_r($array, true);

ce que var_dump() ne peut pas faire. Cependant, var_dump() peut afficher les types de données.

49
gilzero

var_dump() vous montrera le type de la chose ainsi que son contenu.

Donc vous aurez => (string)"var"Exemple est ici.

print_r() affichera simplement le contenu.

La sortie serait => "var"Exemple est ici.

20
David Yell

Si vous demandez quand vous devriez utiliser quoi, j'utilise généralement print_r() pour afficher les valeurs et var_dump() en cas de problèmes avec les types de variable.

12
Danny Nimmo

var_dump affiche des informations structurées sur l'objet/la variable. Cela inclut type et valeurs. Les tableaux de type print_r sont récursifs et en retrait.

print_r affiche lisible par l'homme des informations sur les valeurs avec un format présentant les clés et les éléments pour les tableaux et les objets.

La chose la plus importante à noter est que var_dump affichera le type ainsi que les valeurs, contrairement à print_r.

7
Josh K

Différences significatives entre var_dump et print_r

les deux fonctions dumps les informations sur la variable , mais var_dump plusieurs paramètres seront dumpés, où en tant que print_r peut extraire deux paramètres dont le premier paramètre est la variable que vous souhaitez dump et le second une valeur booléenne.

var_dump ne peut renvoyer aucune valeur, il ne peut que vider/imprimer les valeurs, alors que print_r peut renvoyer les informations de variable si nous définissons le deuxième paramètre de print_r sur true . La valeur retournée de print_r sera dans string format. 

Les informations imprimées par print_r sont beaucoup plus lisibles, alors que var_dump imprime des valeurs brutes.

La fonction print_r peut être utilisée dans de nombreux contextes où, en tant que var_dump, elle peut être utilisée à des fins de débogage principalement car elle ne peut pas renvoyer de valeur.

5
Akshay Khale

Je recommanderais également de mettre la sortie de var_dump () ou printr dans un tag pre lors de la sortie vers un navigateur.

print "<pre>";
print_r($dataset);
print "</pre>";

Donnera un résultat plus lisible.

4
Christian Nagel

var_dump($var) montre des détails en profondeur, en fournissant des détails supplémentaires sur 

  • type de données de la valeur (y compris les éléments descendants)
  • nombre d'éléments dans une variable
  • longueur de la valeur

var_dump (): -

  1. Cette fonction affiche des informations structurées sur une ou plusieurs expressions incluant son type et sa valeur. Les tableaux et les objets sont explorés récursivement avec des valeurs indentées pour montrer la structure. 
  2. Cette fonction affiche le nombre d’éléments d’une variable.
  3. Cette fonction affiche la longueur de la variable.
  4. Impossible de renvoyer la valeur, uniquement imprimer la valeur.
  5. il est utilisé à des fins de débogage.

Exemple :-

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

sortie: -

   array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}

print_r (): -

  1. Imprime des informations lisibles par l'homme sur une variable.
  2. N'affiche pas le nombre d'élément dans une variable comme var_dump ().
  3. Ne pas afficher la longueur de la variable dans une variable comme var_dump ().
  4. Renvoie la valeur si nous définissons le second paramètre sur true dans printf_r ().

Exemple :-

<pre>
<?php
$a = array ('a' => 'Apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

Sortie: -

<pre>
Array
(
    [a] => Apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>
1
HeadAndTail

Avec les grands tableaux, print_r peut afficher beaucoup plus d’informations qu’il n’est utile. Vous pouvez le tronquer comme ceci, montrant les 2000 premiers caractères ou le nombre dont vous avez besoin.

  echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
1
Neil Bauers

Nous pouvons passer plusieurs paramètres avec var_dumplike:

var_dump("array1",$array1,"array2",$array2);
0
Jasbir Rana

print_r () et var_dump () sont des fonctions de débogage de tableau utilisées dans PHP à des fins de débogage. La fonction print_r () renvoie les clés de tableau et ses membres sous forme de tableau ([key] = valeur), tandis que la fonction var_dump () renvoie la liste de tableaux avec ses clés de tableau avec le type de données et la longueur. (1) 'a'}.

0
Mahesh Chaudhary