- var_dump
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
- User Contributed Notes 16 notes
- Php get var dump
- Какие данные возвращает функция var_dump
- Результат работы функции var_dump
- Анализ вывода функции var_dump
- Если в переменной число вывод информации var_dump
- Результат вывода информации о переменной через var_dump , если там число:
- Если в переменной десятичное число вывод информации var_dump
- Переменная строка(на кириллице + UTF-8) вывод информации var_dump
- Переменная массив вывод информации var_dump
- Результат вывода информации о массиве с помощью var_dump
- Результат вывода var_dump передать в переменную
- Как внести данные вывода var_dump в переменную!
- Выводить var_dump с помощью echo.
- var_dump
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
var_dump
Функция отображает структурированную информацию об одном или нескольких выражениях, включая их тип и значение. Массивы и объекты анализируются рекурсивно с разным отступом у значений для визуального отображения структуры.
Все общедоступные, закрытые и защищённые свойства объекта будут возвращены при выводе, если только объект не реализует метод __debugInfo().
Как и с любой другой функцией, осуществляющей вывод непосредственно в браузер, вы можете использовать функции контроля вывода, чтобы перехватывать выводимые этой функцией данные и сохранять их, например, в строку ( string ).
Список параметров
Выражение, которое необходимо отобразить.
Следующие выражения для отображения.
Возвращаемые значения
Функция не возвращает значения после выполнения.
Примеры
Пример #1 Пример использования var_dump()
Результат выполнения данного примера:
array(3) < [0]=>int(1) [1]=> int(2) [2]=> array(3) < [0]=>string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" > >
$b = 3.1 ;
$c = true ;
var_dump ( $b , $c );
Результат выполнения данного примера:
Смотрите также
- print_r() — Выводит удобочитаемую информацию о переменной
- debug_zval_dump() — Выводит строковое представление внутренней структуры zval
- var_export() — Выводит или возвращает интерпретируемое строковое представление переменной
- __debugInfo()
User Contributed Notes 16 notes
Keep in mind if you have xdebug installed it will limit the var_dump() output of array elements and object properties to 3 levels deep.
To change the default, edit your xdebug.ini file and add the folllowing line:
xdebug.var_display_max_depth=n
If you’re like me and uses var_dump whenever you’re debugging, you might find these two «wrapper» functions helpful.
This one automatically adds the PRE tags around the var_dump output so you get nice formatted arrays.
function var_dump_pre ( $mixed = null ) echo ‘
' ;
var_dump ( $mixed );
echo '
‘ ;
return null ;
>
?>
This one returns the value of var_dump instead of outputting it.
function var_dump_ret ( $mixed = null ) ob_start ();
var_dump ( $mixed );
$content = ob_get_contents ();
ob_end_clean ();
return $content ;
>
?>
Fairly simple functions, but they’re infinitely helpful (I use var_dump_pre() almost exclusively now).
I post a new var_dump function with colors and collapse features. It can also adapt to terminal output if you execute it from there. No need to wrap it in a pre tag to get it to work in browsers.
function dump_debug ( $input , $collapse = false ) $recursive = function( $data , $level = 0 ) use (& $recursive , $collapse ) global $argv ;
echo ‘‘ . «\n» ;
>
$type = ! is_string ( $data ) && is_callable ( $data ) ? «Callable» : ucfirst ( gettype ( $data ));
$type_data = null ;
$type_color = null ;
$type_length = null ;
switch ( $type ) case «String» :
$type_color = «green» ;
$type_length = strlen ( $data );
$type_data = «\»» . htmlentities ( $data ) . «\»» ; break;
case «Double» :
case «Float» :
$type = «Float» ;
$type_color = «#0099c5» ;
$type_length = strlen ( $data );
$type_data = htmlentities ( $data ); break;
case «Integer» :
$type_color = «red» ;
$type_length = strlen ( $data );
$type_data = htmlentities ( $data ); break;
case «Boolean» :
$type_color = «#92008d» ;
$type_length = strlen ( $data );
$type_data = $data ? «TRUE» : «FALSE» ; break;
case «NULL» :
$type_length = 0 ; break;
case «Array» :
$type_length = count ( $data );
>
if ( in_array ( $type , array( «Object» , «Array» ))) $notEmpty = false ;
foreach( $data as $key => $value ) if (! $notEmpty ) $notEmpty = true ;
if ( $isTerminal ) echo $type . ( $type_length !== null ? «(» . $type_length . «)» : «» ). «\n» ;
> else $id = substr ( md5 ( rand (). «:» . $key . «:» . $level ), 0 , 8 );
call_user_func ( $recursive , $value , $level + 1 );
>
> else echo $isTerminal ?
$type . ( $type_length !== null ? «(» . $type_length . «)» : «» ) . » » :
«» . $type . ( $type_length !== null ? «(» . $type_length . «)» : «» ) . « » ;
>
> else echo $isTerminal ?
$type . ( $type_length !== null ? «(» . $type_length . «)» : «» ) . » » :
«» . $type . ( $type_length !== null ? «(» . $type_length . «)» : «» ) . « » ;
call_user_func ( $recursive , $input );
>
?>
As Bryan said, it is possible to capture var_dump() output to a string. But it’s not quite exact if the dumped variable contains HTML code.
echo ‘
' ; // This is for correct handling of newlines
ob_start ();
var_dump ( $var );
$a = ob_get_contents ();
ob_end_clean ();
echo htmlspecialchars ( $a , ENT_QUOTES ); // Escape every HTML special chars (especially > and < )
echo '
‘ ;
?>
/**
* Better GI than print_r or var_dump — but, unlike var_dump, you can only dump one variable.
* Added htmlentities on the var content before echo, so you see what is really there, and not the mark-up.
*
* Also, now the output is encased within a div block that sets the background color, font style, and left-justifies it
* so it is not at the mercy of ambient styles.
*
* Inspired from: PHP.net Contributions
* Stolen from: [highstrike at gmail dot com]
* Modified by: stlawson *AT* JoyfulEarthTech *DOT* com
*
* @param mixed $var — variable to dump
* @param string $var_name — name of variable (optional) — displayed in printout making it easier to sort out what variable is what in a complex output
* @param string $indent — used by internal recursive call (no known external value)
* @param unknown_type $reference — used by internal recursive call (no known external value)
*/
function do_dump (& $var , $var_name = NULL , $indent = NULL , $reference = NULL )
$do_dump_indent = «| » ;
$reference = $reference . $var_name ;
$keyvar = ‘the_do_dump_recursion_protection_scheme’ ; $keyname = ‘referenced_object_name’ ;
?php
$type = ucfirst ( gettype ( $avar ));
if( $type == «String» ) $type_color = «» ;
elseif( $type == «Integer» ) $type_color = «» ;
elseif( $type == «Double» )< $type_color = "" ; $type = "Float" ; >
elseif( $type == «Boolean» ) $type_color = «» ;
elseif( $type == «NULL» ) $type_color = «» ;
if( is_array ( $avar ))
$count = count ( $avar );
echo » $indent » . ( $var_name ? » $var_name => » : «» ) . » $type ( $count )
$indent (
» ;
$keys = array_keys ( $avar );
foreach( $keys as $name )
$value = & $avar [ $name ];
do_dump ( $value , «[‘ $name ‘]» , $indent . $do_dump_indent , $reference );
>
echo » $indent )
» ;
>
elseif( is_object ( $avar ))
echo » $indent$var_name $type
$indent (
» ;
foreach( $avar as $name => $value ) do_dump ( $value , » $name » , $indent . $do_dump_indent , $reference );
echo » $indent )
» ;
>
elseif( is_int ( $avar )) echo » $indent$var_name = $type (» . strlen ( $avar ). «) $type_color » . htmlentities ( $avar ). «
» ;
elseif( is_string ( $avar )) echo » $indent$var_name = $type (» . strlen ( $avar ). «) $type_color \»» . htmlentities ( $avar ). «\»
» ;
elseif( is_float ( $avar )) echo » $indent$var_name = $type (» . strlen ( $avar ). «) $type_color » . htmlentities ( $avar ). «
» ;
elseif( is_bool ( $avar )) echo » $indent$var_name = $type (» . strlen ( $avar ). «) $type_color » .( $avar == 1 ? «TRUE» : «FALSE» ). «
» ;
elseif( is_null ( $avar )) echo » $indent$var_name = $type (» . strlen ( $avar ). «) < $type_color >NULL
» ;
else echo » $indent$var_name = $type (» . strlen ( $avar ). «) » . htmlentities ( $avar ). «
» ;
Php get var dump
VAR_DUMP — это функция в php, которая выводит информацию о переменной. Тип переменной и количество байт в каждом элементе.
Какие данные возвращает функция var_dump
Для того, чтобы посмотреть, что будет возвращать var_dump нам потребуется пример переменной, в которой есть , например текст:
Результат работы функции var_dump
Анализ вывода функции var_dump
Если мы взглянем выше. на результат вывода данных о переменной с помощью var_dump, то увидим несколько параметров!
12 → количество символов(на самом деле байт) в строке.
«Helloy world» → содержание переменной.
Если в переменной число вывод информации var_dump
Чтобы понимать как работает var_dump в разных ситуациях, применим var_dump к переменной, в которой находится число:
Аналогично выводим результат работы функции var_dump :
Результат вывода информации о переменной через var_dump , если там число:
Анализ результат вывода var_dump о числе:
Первое, что вам должно броситься в глаза, почему тип переменной «string» ведь число это не строка. Все дело в кавычках. давайте кавычки уберем:
тип переменной : integer (целые числа)
Если в переменной десятичное число вывод информации var_dump
Переменная строка(на кириллице + UTF-8) вывод информации var_dump
Интересный результат выдает var_dump к строке UTF-8! Поместим в переменную текст на кирилице
Здесь мы видим информацию о нашей переменной, которая является строкой и в ней 19 символов(байт)!
Вопрос на засыпку! Почему 19, если там всего 9 букв и один пробел!?
Переменная массив вывод информации var_dump
Теперь давайте применим var_dump к массиву!
Мы как-то писали о том, как почистить массив от пустых ячеек – и вот оттуда возьмем массив:
Результат вывода информации о массиве с помощью var_dump
Результат вывода var_dump передать в переменную
Нам нужно передать var_dump в переменную. И например нам нужно вывести результат работы var_dump в другом месте! И нужно ли вам вообще var_dump, да еще и в переменную!?
Давайте разберемся, что это за проблема вывода var_dump в переменную!
Если мы возьмем данный сайт, и попробуем вывести что-то, то это, будет выводиться в самом верху страницы – выше логотипа… нужен ли такой вывод var_dump – конечно же нет! Нам нужно вывести данный результат, например, прямо здесь! Но если бы var_dump можно было поместить в переменную, то наступила бы красота!
Логично возникает вопрос — как бы нам внести данные вывода var_dump в переменную!
Как внести данные вывода var_dump в переменную!
У нас есть переменная $data_today , которая равна 2023-07-22 с ней и будем тренироваться с выводом var_dump в переменную
Нам нужно применить такую конструкцию:
Мы получили результат работы функции var_dump в переменную и теперь мы можем её здесь вывести! Прямо здесь:
Выводить var_dump с помощью echo.
Совсем вам забыл рассказать, про самописную функцию var_dump, которая будет выводиться с помощью echo
Назовем, как-то нашу новую функцию — пусть это будет «var_dump s » — вы можете её назвать, как вам нравится. Добавим переменную в функцию — «$var»(любую) для передачи значения в функцию.
Используем выше приведенный пример использования ob_get_contents();
В конце вернем эту переменную:
var_dump
Функция отображает структурированную информацию об одном или нескольких выражениях, включая их тип и значение. Массивы и объекты анализируются рекурсивно с разным отступом у значений для визуального отображения структуры.
Все общедоступные, закрытые и защищенные свойства объекта будут возвращены при выводе, если только объект не реализует метод __debugInfo() (добавлен в PHP 5.6.0).
Как и с любой другой функцией, осуществляющей вывод непосредственно в браузер, вы можете использовать функции контроля вывода, чтобы перехватывать выводимые этой функцией данные и сохранять их, например, в string .
Список параметров
Переменная, значение которой необходимо отобразить.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Примеры
Пример #1 Пример использования var_dump()
Результат выполнения данного примера:
array(3) < [0]=>int(1) [1]=> int(2) [2]=> array(3) < [0]=>string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" > >
$b = 3.1 ;
$c = true ;
var_dump ( $b , $c );
Результат выполнения данного примера:
Смотрите также
- print_r() — Выводит удобочитаемую информацию о переменной
- debug_zval_dump() — Выводит строковое представление внутреннего значения zend
- var_export() — Выводит в браузер или возвращает интерпретируемое строковое представление переменной
- __debugInfo()