>백엔드 개발 >PHP 튜토리얼 >PHP中几种输出函数的差别

PHP中几种输出函数的差别

WBOY
WBOY원래의
2016-06-13 10:38:28963검색

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;?>

?

输出:array (0 => 1,1 => 2,2 => array (0 => 'a',1 => 'b',2 => 'c',),)3.1

总结:echoprintprintf可以打印变量内容,但不能显示数组及系统超级变量数组;print_rvar_dump不仅可以打印数组、标量变量,还可以打印对象的内容。

?

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.