Ответ 1
var_dump предназначен для целей отладки. var_dump
всегда печатает результат.
// var_dump(array('', false, 42, array('42')));
array(4) {
[0]=> string(0) ""
[1]=> bool(false)
[2]=> int(42)
[3]=> array(1) {[0]=>string(2) "42")}
}
print_r также предназначен для целей отладки, но не включает тип участника. Рекомендуется использовать, если вы знаете типы элементов в своем массиве, но в противном случае может вводить в заблуждение. print_r
по умолчанию печатает результат, но позволяет вместо него возвращать как строку, используя необязательный параметр $return
.
Array (
[0] =>
[1] =>
[2] => 42
[3] => Array ([0] => 42)
)
var_export печатает действительный PHP-код. Полезно, если вы вычислили некоторые значения и хотите, чтобы результаты были постоянными в другом script. Обратите внимание, что var_export
не может обрабатывать ссылочные циклы/рекурсивные массивы, тогда как var_dump
и print_r
проверяют их. var_export
по умолчанию печатает результат, но позволяет вместо него возвращать как строку, используя необязательный параметр $return
.
array (
0 => '',
2 => false,
2 => 42,
3 => array (0 => '42',),
)
Лично я считаю, что var_export
- лучший компромисс лаконичного и точного.