日期:2014-05-17  浏览次数:20545 次

PHP中几种输出函数的区别

?

echo返回值是void,可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct)也就是关键字,而并不是真正的函数,因此不能作为表达式的一部分使用。使用的时候不用加括号,加上也可以。只支持基本类型,布尔型除外,echo true的时候显示1echo false的时候啥都没有。echo不可以输出数组类型;

print返回值是int,只可以同时输出一个字符串,一个参数,还需要圆括号,不支持逗号分隔多个显示变量的语法有返回值;当执行失败时返回flaseprint的用法和C语言相似,所以会对输出内容的%做特殊解释。print能输出数组类型的数据;

print_r不仅可以打印变量的的值,还能显示变量类型,而且也可以显示数组和对象这样复杂的变量类型。print_r() 将把数组的指针移到最后边。使用reset()可让指针回到开始处,print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头;

printf源于C语言中的printf()。该函数输出格式化的字符串。语法:printf("参数1",参数2):参数1=按什么格式输出;参数2=输出的变量。(%s:按字符串;%d: 按整型;%b:按二进制;%x:16进制;%X:按16进制 大写输出;%o:按八进制; %f:按浮点型)。占位符被插入%符号之后,由数字和"\$" 组成。f=format:规定字符串以及如何格式化其中的变量;如下:printf("$%01.2f",43.2); //$43.20$表示填充的字符;0表示位数不够在不影响原值的情况下补01表示输出的总宽度;%f则显示为一个浮点数;

sprintf此并不能直接输出,先赋给一个变量,然后再输出变量。如下:

   

<?php

$num=100.001;

$a=sprintf("%d",$num);

echo $a; //100

?>;

?

var_dumpvoid var_dump ( mixed expression [, mixed expression [, ...]] )功能:输出变量的内容,类型或字符串的内容,类型,长度。常用来调试。如下:

  

<?php

$a=100;

var_dump($a); //int(100) 

$a=100.356;

var_dump($a); //float(100.356)

?>;

?

var_exportmixed var_export ( mixed $expression [, bool $return ] )返回关于传递给该函数的变量的结构信息,它和var_dump()类似,不同的是其返回的表示是合法的PHP 代码。你可以通过将函数的第二个参数设置为TRUE,从而返回变量的值。如下:

  

<?php

$a = array (1, 2, array ("a", "b", "c"));//没有定义TRUE的情况;

var_export ($a);

$b = 3.1;

$v = var_export($b, TRUE);

echo $v;

?>

<