PHP 输出数组和对象的结构化视图
示例
print_r()-输出数组和对象 以进行调试
print_r 将输出人类可读的数组或对象格式。
您可能有一个数组或对象变量。尝试将其输出为echo会引发错误:
Notice: Array to string conversion。您可以改用print_r函数来转储此变量的人类可读格式。
您可以将true作为第二个参数传递,以将内容作为字符串返回。
$myobject = new stdClass();$myobject->myvalue = 'Hello World';
$myarray = [ "Hello", "World" ];
$mystring = "Hello World";
$myint = 42;
// 使用print_r,我们可以查看数组保存的数据。
print_r($myobject);
print_r($myarray);
print_r($mystring);
print_r($myint);
输出以下内容:
stdClass Object(
[myvalue] => Hello World
)
Array
(
[0] => Hello
[1] => World
)
Hello World
42
此外,来自的输出print_r可以捕获为字符串,而不是简单地回显。例如,以下代码会将的格式化版本转储$myarray到新变量中:
$formatted_array = print_r($myarray, true);
请注意,如果您正在浏览器中查看PHP的输出,并且将其解释为HTML,则不会显示换行符,除非您执行类似的操作,否则输出的可读性将大大降低
echo '<pre>' . print_r($myarray, true) . '</pre>';
打开页面的源代码也将以相同的方式格式化变量,而无需使用<pre>标签。
或者,您可以告诉浏览器您输出的是纯文本,而不是HTML:
header('Content-Type: text/plain; charset=utf-8');print_r($myarray);
var_dump()-输出有关内容的人类可读调试信息,argument(s)包括其类型和值
print_r与之相比,输出更加详细,因为它还输出变量的类型以及其值和其他信息,例如对象ID,数组大小,字符串长度,参考标记等。
您可以var_dump用来输出更详细的版本以进行调试。
var_dump($myobject, $myarray, $mystring, $myint);
输出更详细:
object(stdClass)#12 (1) {["myvalue"]=>
string(11) "Hello World"
}
array(2) {
[0]=>
string(5) "Hello"
[1]=>
string(5) "World"
}
string(11) "Hello World"
int(42)
注意:如果在开发环境中使用xDebug,则默认情况下var_dump的输出是受限/截断的。有关更改此选项的更多信息,请参见官方文档。
var_export()-输出有效PHP代码
var_export()转储PHP该项目的可解析表示形式。
您可以将true作为第二个参数传递,以将内容返回到变量中。
var_export($myarray);var_export($mystring);
var_export($myint);
输出是有效的PHP代码:
array (0 => 'Hello',
1 => 'World',
)
'Hello World'
42
要将内容放入变量中,可以执行以下操作:
$array_export = var_export($myarray, true);$string_export = var_export($mystring, true);
$int_export = var_export($myint, 1); // 任何“真实”值
之后,您可以像这样输出:
printf('$myarray = %s; %s', $array_export, PHP_EOL);printf('$mystring = %s; %s', $string_export, PHP_EOL);
printf('$myint = %s; %s', $int_export, PHP_EOL);
这将产生以下输出:
$myarray = array (0 => 'Hello',
1 => 'World',
);
$mystring = 'Hello World';
$myint = 42;
以上是 PHP 输出数组和对象的结构化视图 的全部内容, 来源链接: utcz.com/z/326234.html