Isso é o que a documentação do PHP diz sobre as duas funções:
var_export
– Produz ou retorna uma representação de string analisável de uma variável
var_dump
– Despeja informações sobre uma variável
O importante é que var_dump
nos dará todo o conteúdo de uma PHP
variável de uma maneira compreensível, mas var_export
nos dará o conteúdo daquilo que pode ser usado diretamente em um PHP
arquivo como o valor de uma variável. Fora isso arrays
, os var_export
valores às vezes são mais acessíveis.
Vamos ver um exemplo real para entender a diferença:
var_dump
saída para uma matriz:
array(6) {
["thework"]=>
string(3) "112"
["fromdate"]=>
string(10) "25/06/2014"
["todate"]=>
string(10) "30/06/2014"
["name"]=>
string(45) "This is the the name for this entry"
["details"]=>
array(5) {
[1]=>
array(2) {
["id"]=>
string(8) "191_25_0"
["extraunits"]=>
string(1) "1"
}
[2]=>
array(2) {
["id"]=>
string(8) "191_26_0"
["extraunits"]=>
string(3) "1.5"
}
[3]=>
array(2) {
["id"]=>
string(8) "191_28_0"
["extraunits"]=>
string(1) "1"
}
[4]=>
array(2) {
["id"]=>
string(8) "192_26_0"
["extraunits"]=>
string(1) "1"
}
[5]=>
array(2) {
["id"]=>
string(8) "192_27_0"
["extraunits"]=>
string(1) "1"
}
}
}
var_export
saída para uma matriz:
array (
'thework' => '112',
'fromdate' => '25/06/2014',
'todate' => '30/06/2014',
'name' => 'This is the the name for this entry',
'details' =>
array (
1 =>
array (
'id' => '191_25_0',
'extraunits' => '1',
),
2 =>
array (
'id' => '191_26_0',
'extraunits' => '1.5',
),
3 =>
array (
'id' => '191_28_0',
'extraunits' => '1',
),
4 =>
array (
'id' => '192_26_0',
'extraunits' => '1',
),
5 =>
array (
'id' => '192_27_0',
'extraunits' => '1',
),
),
)
NB: Eu também costumava echo "<pre>";
tornar as duas saídas acima mais legíveis. É sempre útil usá-lo para redobrabilidade.