var_dump()和print_r()在输出字符串数组方面有什么区别?
当前回答
var_dump函数显示关于变量/表达式的结构化信息,包括其类型和值。数组用缩进的值递归地探索以显示结构。它还显示了哪些数组值和对象属性是引用。
print_r()以人类可读的方式显示关于变量的信息。数组值将以显示键和元素的格式显示。类似的符号用于对象。
例子:
$obj = (object) array('qualitypoint', 'technologies', 'India');
Var_dump ($obj)将在屏幕上显示以下输出。
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
并且,print_r($obj)将在屏幕上显示下面的输出。
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
更多信息
var_dump print_r
其他回答
Var_dump()将向您显示对象的类型以及其中的内容。
你会得到=> (string)示例如下。
Print_r()只输出内容。
示例如下:
这太简单了。var_dump()函数显示关于变量/表达式的结构化信息,包括其类型和值。而print_r()以人类可读的方式显示关于变量的信息。
示例:假设我们有以下数组,我们想显示它的内容。
$arr = array ('xyz', false, true, 99, array('50'));
print_r()函数-显示人类可读的输出
Array
(
[0] => xyz
[1] =>
[2] => 1
[3] => 99
[4] => Array
(
[0] => 50
)
)
var_dump()函数-显示值和类型
array(5) {
[0]=>
string(3) "xyz"
[1]=>
bool(false)
[2]=>
bool(true)
[3]=>
int(100)
[4]=>
array(1) {
[0]=>
string(2) "50"
}
}
详情请访问:https://stackhowto.com/how-to-display-php-variable-values-with-echo-print_r-and-var_dump/
Var_dump显示关于对象/变量的结构化信息。这包括类型和值。像print_r一样,数组是通过递归和缩进的。
Print_r显示关于值的人类可读信息,其格式显示数组和对象的键和元素。
需要注意的最重要的事情是var_dump将输出类型和值,而print_r则不会。
var_dump函数显示关于变量/表达式的结构化信息,包括其类型和值。数组用缩进的值递归地探索以显示结构。它还显示了哪些数组值和对象属性是引用。
print_r()以人类可读的方式显示关于变量的信息。数组值将以显示键和元素的格式显示。类似的符号用于对象。
例子:
$obj = (object) array('qualitypoint', 'technologies', 'India');
Var_dump ($obj)将在屏幕上显示以下输出。
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
并且,print_r($obj)将在屏幕上显示下面的输出。
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
更多信息
var_dump print_r
对于所有需要var_dump()函数进行测试的人!
I've written my own test dump function, cause i didn't whant to do that ob_start ... stuff over and over again. The nice thing, it even get's the parameter names from source!function test_dump (...$params)
{
$file_test_dump = 'test_dump.log';
$backtrace = debug_backtrace(0, 3);
$caller_file = $backtrace[0]['file']);
$caller_function = $backtrace[1]['function'];
$caller_line = $backtrace[0]['line'];
if (empty($params))
{
file_put_contents ($file_test_dump, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" , FILE_APPEND);
file_put_contents ($file_test_dump, '!!!!!! ' . date ("[Y-m-d H:i:s:u]", time()) . " - FILE: {$caller_file} | FUNCTION: {$caller_function} | LINE: {$caller_line} !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \n\n" , FILE_APPEND);
file_put_contents ($file_test_dump, "!!! No parameter given !!! \n\n" , FILE_APPEND);
return;
}
// --- get source file ---
$source_file = file($backtrace[0]['file']);
// --- get line of source file and pre filter with regex ---
preg_match ('~\(([^*]*)\)~', $source_file [intval($backtrace[0]['line']) - 1], $parameter_line);
$parameter_line_filtered = str_replace(" ", "", $parameter_line [1]);
// put parameter names into array
$params_names = explode(',', $parameter_line_filtered);
// --- OUTPUT ----
file_put_contents ($file_test_dump, "#######################################################################################################################################################################################################################\n" , FILE_APPEND);
file_put_contents ($file_test_dump, '### ' . date ("[Y-m-d H:i:s:u]", time()) . " - FILE: {$caller_file} | FUNCTION: {$caller_function} | LINE: {$caller_line} ### \n\n" , FILE_APPEND);
$i = 0;
foreach ($params as $param)
{
$i++;
file_put_contents ($file_test_dump, " --- Parameter " . $i . ': ' . $params_names[$i - 1] . " --------------------------------------------------------------------------------------------------------------------------\n", FILE_APPEND);
if ( is_array($param) ||
is_object($param) ||
is_bool($param) )
{
ob_start();
var_dump($param);
file_put_contents ($file_test_dump, ob_get_contents() . "\n\n", FILE_APPEND);
ob_end_clean();
}
else
{
file_put_contents ($file_test_dump, $param . "\n\n", FILE_APPEND);
}
}
file_put_contents ($file_test_dump, "\n\n", FILE_APPEND);
}