PHP调试中的几个输出命令(echo/print/print_r/var_DUMP/var_export)
echo()
echo() 用于输出一个或多个字符串,是在 PHP 中使用最多的函数之一,因为使用它的效率要比其他字符串输出函数高。
严格来讲 echo 实际上并不是一个函数(它是个语言结构),因此不一定必须使用小括号来指明参数,使用单引号、双引号也可以。需要注意的是,如果想向 echo 中传递多个参数的话,那么就不能使用小括号,否则会发生解析错误。
echo 的语法格式如下所示:
echo(string $arg1[, string $...])
其中,$arg1 为要输出的参数。
print()
print() 函数的功能和 echo() 一样,最主要的区别就是 echo 可以接受多个参数并且没有返回值,而 print() 只能接受一个参数并且有返回值,print() 函数的语法格式如下:
print(string $arg)
其中,$arg 为要输出的字符串。另外,print() 函数总是返回 1。
echo和print区别:
1、echo 可以输出一个或多个字符串;
2、print 只允许输出一个字符串,返回值总为 1;
3、echo 输出的速度比 print 快;
4、echo 没有返回值,print 有返回值 1;
5、它们都是语言结构并不是函数。
print_r()
如果输入的内容是 string、 integer 或 float,会直接输出值本身。如果输入的内容是 array,展示的格式会显示数组的键和包含的元素。
- <?php
- $b = 3.1;
- $c = false;
- print_r($b.$c);
- ?>
复制代码 输出
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。
- <pre>
- <?php
- $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
- print_r ($a);
- ?>
- </pre>
复制代码
输出
- <pre>
- Array
- (
- [a] => apple
- => banana
- [c] => Array
- (
- [0] => x
- [1] => y
- [2] => z
- )
- )
- </pre>
复制代码
var_DUMP()
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
- <?php
- $b = 3.1;
- $c = true;
- var_dump($b, $c);
- ?>
复制代码 输出:
数组将递归展开值,通过缩进显示其结构。
- <?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"
- }
- }
复制代码
var_export()
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
- <?php
- $b = 3.1;
- $c = false;
- var_export($b,$c);
- ?>
复制代码
输出
输出函数 echo、print_r、print、var_dump 之间的区别
echo 只能输出字符串等单一数据,不能输出数据类型,不能输出数组等多种数据。
print() 只能输出字符串等单一数据, 不能输出数据类型,不能输出数组等多种数据,有返回值(true/false)。
print_r() 既能输出字符串等单一数据,又能输出数组等多种数据。但是不能输出数据类型。
var_dump() 既能输出字符串等单一数据,又能输出数组等多种数据,又能输出数据类型(string/integer/float)。
|
|