Php 简明教程
PHP var_dump() Function
PHP 中的内置函数之一是 var_dump() 函数。此函数显示结构化信息,例如类型和作为此函数的参数给出的一个或多个表达式的值。
var_dump(mixed $value, mixed ...$values): void
此函数返回输出中对象的全部 public、private 和 protected 属性。数组和对象的转储信息缩进得当,显示递归结构。
对于内置整数、浮点数和布尔变量,var_dump() 函数显示参数变量的类型和值。
Example 2
让我们看看它对浮点数变量的行为 −
<?php
$x = 10.25;
var_dump ($x);
?>
var_dump() 函数返回以下 output −
float(10.25)
Example 4
对于字符串变量,var_dump() 函数还返回字符串的长度。
<?php
$x = "Hello World";
var_dump ($x);
?>
它将生成以下 output −
string(11) "Hello World"
这里我们可以使用 <pre> HTML 标记,它显示预格式化文本。<pre> 元素中的文本以固定宽度的字体显示,并且文本保留空格和换行符。
<?php
echo "<pre>";
$x = "Hello World";
var_dump ($x);
echo "</pre>"
?>
它将生成以下 output −
string(11) "Hello World"
Example 5 - Studying the Array Structure Using var_dump()
var_dump() 函数对于研究数组结构非常有用。在以下示例中,我们有一个数组,其中数组的一个元素是另一个数组。换句话说,我们有嵌套数组的情况。
<?php
$x = array("Hello", false, 99.99, array(10, 20,30));
var_dump ($x);
?>
它将生成以下 output −
array(4) {
[0]=>
string(5) "Hello"
[1]=>
bool(false)
[2]=>
float(99.99)
[3]=>
array(3) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(30)
}
}
Example 6
由于在前面的示例中“$x”是一个 indexed array ,所以从“0”开始的索引及其值将被转储。如果数组是 associate array ,则会转储键值对信息。
<?php
$x = array(
"Hello", false, 99.99,
array(1=>10, 2=>20,3=>30)
);
var_dump($x);
?>
在这里,你会得到以下 output −
array(4) {
[0]=>
string(5) "Hello"
[1]=>
bool(false)
[2]=>
float(99.99)
[3]=>
array(3) {
[1]=>
int(10)
[2]=>
int(20)
[3]=>
int(30)
}
}
当你使用 var_dump() 来显示数组值时,不需要使用结束标记“ </pre> ”。
Example 7
var_dump() 函数还可以显示表示类的对象的特性。在下面的示例中,我们声明了一个 Point 类,其中包含两个私有特性“x”和“y”。该类的构造函数使用传递给它的参数初始化对象“p”。
var_dump() 函数提供有关对象特性及其对应值的信息。
<?php
class Point {
private int $x;
private int $y;
public function __construct(int $x, int $y = 0) {
$this->x = $x;
$this->y = $y;
}
}
$p = new Point(4, 5);
var_dump($p)
?>
它将生成以下 output −
object(Point)#1 (2) {
["x":"Point":private]=>
int(4)
["y":"Point":private]=>
int(5)
}
PHP 中有一个类似的内置函数,用于生成转储,名为 get_defined_vars() 。
var_dump(get_defined_vars());
它会将所有已定义的变量转储到浏览器中。