Fork me on GitHub

dump() VS <pre>var_dump()</pre>

Les différents types

string 'Hello World !' (length=13)
int 39
float 3.14
Null
boolean False
boolean True
Array
(
    Empty
)
stdClass Object
(
    Empty
)
string(13) "Hello World !"
int(39)
float(3.14)
NULL
bool(false)
bool(true)
array(0) {
}
object(stdClass)#6 (0) {
}

Un tableau classique

Array
(
    [0] => Null
    [1] => int 0
    [2] => boolean False
    [3] => string '' (length=0)
)
array(4) {
  [0]=>
  NULL
  [1]=>
  int(0)
  [2]=>
  bool(false)
  [3]=>
  string(0) ""
}

Chaines de caractères

string '<script>console.log("Dump log");</script>' (length=41)
string '<?php echo "Dump echo"; ?>' (length=26)
string '<p><strong>Dump</strong><br><u>HTML</u></p>' (length=43)
string 'Chaine de plus de 255 caractère de long (tronquée, allez voir)... Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco lab[]' (length=514)

dump() n'exécute pas le code et l'affichera sans problème, de plus, les chaines de plus de 255 caractères seront tronquées à 255 caractères pour l'affichage (paramétrable).

string(45) ""
string(30) ""
string(47) "

Var_dump
HTML

" string(524) "Chaine de plus de 255 caractère de long (non tronquée, n'allez pas voir)... Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

var_dump() n'exécute pas le code (sauf le JavaScript et l'HTML) mais ne l'affichera pas.

Expression avancée

Exemple sur différentes représentations possibles pour les couleurs red, plum et black.
Tableau RGBA, chaine Hexadécimale et classe RGBA.

Array
(
    [colors] => Array
    (
        [rgbaArray] => Array
        (
            [red] => Array
            (
                [red] => int 255
                [green] => int 0
                [blue] => int 0
                [alpha] => int 0
            )
            [plum] => Array
            (
                [red] => int 221
                [green] => int 160
                [blue] => int 221
                [alpha] => int 0
            )
            [black] => Array
            (
                [red] => int 0
                [green] => int 0
                [blue] => int 0
                [alpha] => int 0
            )
        )
        [hexaString] => Array
        (
            [red] => string '#ff0000' (length=7)
            [plum] => string '#dda0dd' (length=7)
            [black] => string '#000000' (length=7)
        )
        [rgbaClass] => Array
        (
            [color1] => Color Object
            (
                public static representation => string 'RGBA' (length=4)
                public label => string 'red' (length=3)
                private red => int 255
                private green => int 0
                private blue => int 0
                private alpha => int 0
            )
            [color2] => Color Object
            (
                public static representation => string 'RGBA' (length=4)
                public label => string 'plum' (length=4)
                private red => int 221
                private green => int 160
                private blue => int 221
                private alpha => int 0
            )
            [color3] => Color Object
            (
                public static representation => string 'RGBA' (length=4)
                public label => string 'black' (length=5)
                private red => int 0
                private green => int 0
                private blue => int 0
                private alpha => int 0
            )
        )
    )
)
array(1) {
  ["colors"]=>
  array(3) {
    ["rgbaArray"]=>
    array(3) {
      ["red"]=>
      array(4) {
        ["red"]=>
        int(255)
        ["green"]=>
        int(0)
        ["blue"]=>
        int(0)
        ["alpha"]=>
        int(0)
      }
      ["plum"]=>
      array(4) {
        ["red"]=>
        int(221)
        ["green"]=>
        int(160)
        ["blue"]=>
        int(221)
        ["alpha"]=>
        int(0)
      }
      ["black"]=>
      array(4) {
        ["red"]=>
        int(0)
        ["green"]=>
        int(0)
        ["blue"]=>
        int(0)
        ["alpha"]=>
        int(0)
      }
    }
    ["hexaString"]=>
    array(3) {
      ["red"]=>
      string(7) "#ff0000"
      ["plum"]=>
      string(7) "#dda0dd"
      ["black"]=>
      string(7) "#000000"
    }
    ["rgbaClass"]=>
    array(3) {
      ["color1"]=>
      object(Color)#1 (5) {
        ["label"]=>
        string(3) "red"
        ["red":"Color":private]=>
        int(255)
        ["green":"Color":private]=>
        int(0)
        ["blue":"Color":private]=>
        int(0)
        ["alpha":"Color":private]=>
        int(0)
      }
      ["color2"]=>
      object(Color)#2 (5) {
        ["label"]=>
        string(4) "plum"
        ["red":"Color":private]=>
        int(221)
        ["green":"Color":private]=>
        int(160)
        ["blue":"Color":private]=>
        int(221)
        ["alpha":"Color":private]=>
        int(0)
      }
      ["color3"]=>
      object(Color)#3 (5) {
        ["label"]=>
        string(5) "black"
        ["red":"Color":private]=>
        int(0)
        ["green":"Color":private]=>
        int(0)
        ["blue":"Color":private]=>
        int(0)
        ["alpha":"Color":private]=>
        int(0)
      }
    }
  }
}

Récursion infinie

Exemple d'affiche d'une instance de la classe "Recursive1" dont la seul propriété fait référence à une instance de la classe "Recursive2".
Avec la classe "Recursive2" ayant pour seul propriété l'instance de classe créée pour "Recursive1".

Recursive1 Object
(
    public Recursive2 => Recursive2 Object
    (
        public Recursive1 => Recursive1 Object
        (
            Recursive reference [Stopped]
        )
    )
)
object(Recursive1)#4 (1) {
  ["Recursive2"]=>
  object(Recursive2)#5 (1) {
    ["Recursive1"]=>
    *RECURSION*
  }
}