php var_dump()与print_r()的比较

php var_dump()与print_r()的比较,php,arrays,Php,Arrays,var\u dump()和print\r()在以字符串形式输出数组方面有什么区别?var\u dump()将向您显示对象的类型以及其中包含的内容 var_dump("array1",$array1,"array2",$array2); Array ( [0] => xyz [1] => [2] => 1 [3] => 99 [4] => Array ( [0] => 50

var\u dump()
print\r()
在以字符串形式输出数组方面有什么区别?

var\u dump()
将向您显示对象的类型以及其中包含的内容

var_dump("array1",$array1,"array2",$array2);
Array
(
    [0] => xyz
    [1] =>
    [2] => 1
    [3] => 99
    [4] => Array
        (
            [0] => 50
        )
)
因此您将得到=>
(字符串)“var”
在这里

print\r()
将只输出内容


将输出=>
“var”
在此处。

var\u dump
显示有关对象/变量的结构化信息。这包括类型和值。像
print\r
一样,数组被递归并缩进

print\r
显示有关值的可读信息,格式显示数组和对象的键和元素


需要注意的最重要的一点是,
var\u dump
将输出类型和值,而
print\u r
则不会。

函数显示变量/表达式的结构化信息,包括其类型和值。使用缩进的值递归地探索数组以显示结构。它还显示哪些数组值和对象属性是引用

print\u r()
以人类可读的方式显示有关变量的信息。数组值将以显示键和元素的格式显示。类似的符号用于对象

示例:

$obj = (object) array('qualitypoint', 'technologies', 'India');
var\u dump($obj)
将在屏幕的输出下方显示

object(stdClass)#1 (3) {
 [0]=> string(12) "qualitypoint"
 [1]=> string(12) "technologies"
 [2]=> string(5) "India"
}
stdClass Object ( 
 [0] => qualitypoint
 [1] => technologies
 [2] => India
)
并且,
print\r($obj)
将在屏幕的输出下方显示

object(stdClass)#1 (3) {
 [0]=> string(12) "qualitypoint"
 [1]=> string(12) "technologies"
 [2]=> string(5) "India"
}
stdClass Object ( 
 [0] => qualitypoint
 [1] => technologies
 [2] => India
)
更多信息


如果你问什么时候应该使用what,我通常使用
print\u r()
来显示值,使用
var\u dump()
来显示变量类型的问题。

一般来说,
print\u r()
输出更好、更简洁、更容易阅读,也就是说,更容易阅读,但不能显示数据类型

使用
print\r()
还可以将输出存储到变量中:

$output = print_r($array, true);

这是
var\u dump()
无法完成的。但是
var\u dump()
可以显示数据类型。

var\u dump
print\u r
之间存在显著差异

这两个函数都转储有关变量的信息,但是
var\u dump
将转储多个参数,其中as
print\u r
可以提取两个参数,其中第一个参数是要转储的变量,第二个是布尔值

var\u dump
无法返回任何值如果我们将
print\r
的第二个参数设置为true,则只能转储/打印as print\r可以返回变量信息的值。
print\r
的返回值将采用字符串格式

print\u r
打印的信息更易于阅读,其中as
var\u dump
打印原始值

print\u r
函数可以在许多上下文中使用,其中as
var\u dump
主要用于调试目的,因为它不能返回值。

var\u dump($var)
通过提供

  • 值的数据类型(包括子元素)
  • 变量中的元素数
  • 值的长度

我不建议在输出到浏览器时将var_dump()或printr的输出放入pre标记中

print "<pre>";
print_r($dataset);
print "</pre>";
print”“;
打印(数据集);
打印“”;

将提供更具可读性的结果。

对于大型数组,print\r可以显示比有用信息多得多的信息。您可以像这样截断它,显示前2000个字符或需要多少字符

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
echo”“。substr(print_r($dataset,1),0,2000)。"";
print\u r()和var\u dump()是PHP中用于调试的数组调试函数。print_r()函数以数组([key]=value)的形式返回数组键及其成员,而var_dump()函数返回数组列表及其数组键,数组键具有数据类型和长度,例如array(array_length){[0]=string(1)'a'}。

var_dump():-

<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>
  • 此函数显示有关一个或多个表达式的结构化信息,其中包括其类型和值。数组和对象使用缩进的值进行递归探索,以显示结构
  • 此函数用于显示变量中的元素数
  • 此函数用于显示变量的长度

  • 无法返回值,仅打印值
  • 它用于调试目的
  • 示例:-

    <pre>
    <?php
    $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
    ?>
    </pre>
    
    print\u r():-

    <pre>
    <?php
    $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
    ?>
    </pre>
    
  • 打印有关变量的可读信息
  • 不将变量中的元素数显示为var_dump()
  • 不将变量中变量的长度显示为var_dump()
  • 如果在printf_r()中将第二个参数设置为true,则返回该值
  • 示例:-

    <pre>
    <?php
    $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
    ?>
    </pre>
    
    
    
    输出:-

    
    排列
    (
    [a] =>苹果
    [b] =>香蕉
    [c] =>阵列
    (
    [0]=>x
    [1] =>y
    [2] =>z
    )
    )
    
    我们可以使用var\u dump传递多个参数 比如:


    太简单了。var\u dump()函数显示有关变量/表达式的结构化信息,包括其类型和值。而print_r()以人类可读的方式显示变量的相关信息

    示例:假设我们获得了以下数组,并希望显示其内容

    print_r()函数-显示人类可读的输出 var_dump()函数-显示值和类型
    更多细节:

    我认为更好的例子是
    var\u dump(0.0)输出浮动(0)
    vs
    print\r(0.0)输出
    0
    (因此lea