var_dump()和print_r()在输出字符串数组方面有什么区别?


当前回答

对于大型数组,print_r显示的信息可能远远超出有用的范围。您可以像这样截断它,显示前2000个字符或任何您需要的字符。

  echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";

其他回答

对于大型数组,print_r显示的信息可能远远超出有用的范围。您可以像这样截断它,显示前2000个字符或任何您需要的字符。

  echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";

Var_dump()将向您显示对象的类型以及其中的内容。

你会得到=> (string)示例如下。

Print_r()只输出内容。

示例如下:

Var_dump显示关于对象/变量的结构化信息。这包括类型和值。像print_r一样,数组是通过递归和缩进的。

Print_r显示关于值的人类可读信息,其格式显示数组和对象的键和元素。

需要注意的最重要的事情是var_dump将输出类型和值,而print_r则不会。

var_dump和print_r之间存在显著差异

这两个函数都转储关于变量的信息,但var_dump将被转储的多个参数,其中print_r可以取两个参数,其中第一个参数是您想要转储的变量,第二个参数是一个布尔值。

Var_dump不能返回任何值,它只能转储/打印值,而当我们将print_r的第二个参数设置为true时,print_r可以返回变量信息。print_r的返回值将是字符串格式。

print_r打印的信息更具有可读的格式,而var_dump则打印原始值。

Print_r函数可以在许多上下文中使用,其中var_dump可以主要用于调试目的,因为它不能返回值。

var_dump() :-

此函数显示关于一个或多个表达式的结构化信息,其中包括表达式的类型和值。数组和对象用缩进的值递归地探索以显示结构。 这个函数显示变量中元素的个数。 这个函数显示变量的长度。 不能返回值,只能打印值。 用于调试目的。

例子:-

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

输出:

   array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}

print_r (): -

打印关于变量的人类可读信息。 不显示变量中的元素数,如var_dump()。 不显示变量中的变量长度为var_dump()。 如果在printf_r()中将第二个参数设置为true,则返回该值。

例子:-

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

输出:

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>