灰儿 发表于 2022-8-29 08:30:14

PHP调试中的输出命令(echo/print/print_r/var_DUMP/var_export)

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);
?>
输出
3.1
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。
<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

输出
<pre>
Array
(
    => apple
   => banana
    => Array
      (
             => x
             => y
             => z
      )
)
</pre>
var_DUMP()
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
<?php
$b = 3.1;
$c = true;
var_dump($b, $c);
?>
输出:float(3.1)
bool(true)
数组将递归展开值,通过缩进显示其结构。
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
输出
array(3) {
=>
int(1)
=>
int(2)
=>
array(3) {
    =>
    string(1) "a"
    =>
    string(1) "b"
    =>
    string(1) "c"
}
}

var_export()
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
<?php
$b = 3.1;
$c = false;
var_export($b,$c);
?>

输出
3.1
输出函数 echo、print_r、print、var_dump 之间的区别

echo只能输出字符串等单一数据,不能输出数据类型,不能输出数组等多种数据。

print()只能输出字符串等单一数据, 不能输出数据类型,不能输出数组等多种数据,有返回值(true/false)。

print_r() 既能输出字符串等单一数据,又能输出数组等多种数据。但是不能输出数据类型。

var_dump()既能输出字符串等单一数据,又能输出数组等多种数据,又能输出数据类型(string/integer/float)。




灰儿 发表于 2022-8-29 08:45:16

http://www.admin365.cn/thread-46380-1-1.htmlphp调试中数组怎么输出
页: [1]
查看完整版本: PHP调试中的输出命令(echo/print/print_r/var_DUMP/var_export)