var_dump()和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/
其他回答
如果您问什么时候应该使用什么,我通常使用print_r()来显示值,使用var_dump()来处理变量类型的问题。
我还建议在输出到浏览器时,将var_dump()或printr的输出放到pre标记中。
print "<pre>";
print_r($dataset);
print "</pre>";
将给出更可读的结果。
print_r()和var_dump()是PHP中用于调试目的的数组调试函数。print_r()函数返回数组键及其成员为array ([key] = value),而var_dump()函数返回数组列表及其数据类型和长度的数组键,例如array (array_length){[0] = string(1)'a'}。
通常,print_r()输出更好,更简洁,更容易阅读,也就是更易于人类阅读,但不能显示数据类型。
使用print_r(),你也可以将输出存储到一个变量中:
$output = print_r($array, true);
这是var_dump()无法做到的。然而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>
推荐文章
- 在Bash中将命令行参数转换为数组
- 如何创建数组列表的数组?
- 将字符串数组转换为字符串
- 如何找到JavaScript数组中包含的最大数字?
- 使用PHP加密和解密密码的最佳方法是什么?
- 如何实现一个好的脏话过滤器?
- PHP中的三个点(…)是什么意思?
- Guzzlehttp -如何从guzzle6得到响应的正文?
- 移动一个文件到服务器上的另一个文件夹
- 如何读一个文本文件到一个列表或数组与Python
- Laravel中使用雄辩的ORM进行批量插入
- PHP 5.4调用时引用传递-容易修复可用吗?
- 如何在Python中将十六进制字符串转换为字节?
- 格式化字节到千字节,兆字节,千兆字节
- 如何在PHP中获得变量名作为字符串?