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

回到顶部