在PHP中,数据打印函数主要有echo()、print_r()、var_dump()和print()、printf()。

函数 返回值 描述
echo() void 输出一个或多个字符串。
print() int 输出一个字符串,并始终返回 1。
printf() int 输出格式化的字符串。
print_r() int 输出字符串或数组或对象。
var_dump() void 输出一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

其中,能输出数组和对象的只有:var_dump()和print_r()。

echo()

语法:void echo(String string, …)

echo()是指令而不是函数,它没有返回值,可以输出一个或多个字符串。

备注:

  • 1) 双引号内的变量会被解释,而单引号内的变量则原样输出;
  • 2) echo()不能输出数组或对象,只能输出字符串;
  • 3) echo()可以有多个参数,参数之间用逗号分隔开。

示例:

$a = "hello world!";
echo $a; // hello world

print()

语法: int print( string string )

print()的用法与echo()类似,不能输出数组和对象,只能有一个参数,用于输出一个字符串。

print_r()

语法: bool print_r( mixed expression )

print_r() 函数可以打印输出整个数组内容及结构,按照一定格式显示键和元素。

示例:

<?php
$arr_age = array(1, 2, 3);
print_r($arr_age);
?>

运行该例子输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

printf()

语法:int printf(string format, arg1, arg2, …)

printf() 用于格式化输出字符串,返回一个整型。

format 为字符串以及变量的格式化方式,arg1为插入第一个%符号处的参数,agr2等以此类推。

格式化方式 说明
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x/%X 无符号以小/大写十六进制表示的整数
%o 无符号以八进制表示的整数
%g 自动选择合适的表示法

示例:

<?php
$str = "This";
$number = 31;
printf("%s month has %u days",$str,$number); //This month has 31 days
printf("%.02lf\n", 1.035); // 1.03
printf("%.02lf\n", round(1.035, 2)); // 1.04
?>

var_dump()

语法:void var_dump ( mixed $expression [, mixed $… ] )

var_dump() 函数也可以打印数组的数据及结构。不过 var_dump() 函数功能比 print_r() 更强大,可以同时打印多个变量且给出变量的类型信息。

示例:

<?php
$arr_age = array(1, 2, 3);
var_dump($arr_age); 
?>

运行该例子输出:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

总结

print_r() 和 var_dump() 函数一般是用于调试程序使用,更多情况是使用 echo 来输出具体的数组单元值,用printf输出格式化的字符串。

本文作者:子匠_Zijor,转载请注明出处:http://www.dengzhr.com/others/backend/747