php输出echo、print、print_r、printf、sprintf、var_dump的区别比较

用.net开发已经5年了,最近突然想接触一下。net以外的东西,于是乎就来看看php了。在学习php中首先看看几个输出函数。
一、echo
echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号。不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误。而且echo是返回void的,并不返回值,所以不能使用它来赋值。
例子:


代码如下:

<?php 
$a = echo("55nav"); // 错误!不能用来赋值 
echo "55nav"; // 55nav  
echo ("55nav"); // 55nav  
echo ("55nav","com"); //发生错误,有括号不能传递多个参数  
echo "55nav"," com"," is", " web";  // 不用括号的时候可以用逗号隔开多个值, 会输出 55nav com is web  
echo "55nav is  8 good  9 web.";  // 不管是否换行,最终显示都是为一行 55nav is good web. 
$fistname="55nav";
echo "$fistname com"; // 如果 $firstname = "55nav", 则会输出 55nav com. 
echo '$firstname com'; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname com
?>

二、print
print() 和 echo() 用法一样,但是echo速度会比print快一点点。实际上它也不是一个函数,因此您无需对其使用括号。不过,如果您希望向print() 传递一个以上的参数,那么使用括号会发生解析错误。注意print总是返回1的,这个和echo不一样,也就是可以使用print来赋值,不过没有实际意义。
例子:


代码如下:

<?php
$a = print("55nav"); // 这个是允许的 
echo $a; // $a的值是1
?>

三、print_r 函数
print_r函数打印关于变量的易于理解的信息。
语法:mixed print_r ( mixed $expression [, bool return ] )
如果变量是string , integer or float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,也就是有key和value对应的那种格式。对于object对象类同。print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值TRUE。
例子:


代码如下:

<?php
 $a="55nav";
 $c = print_r($a); 
 echo $c;  // $c的值是TRUE 
 $c = print_r($a,true); 
 echo $c; // $c的值是字符串55nav 
 ?>

四、printf函数
printf函数返回一个格式化后的字符串。
语法:printf(format,arg1,arg2,arg++)
参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面是可能的 format 值:
* %% – 返回百分比符号
* %b – 二进制数
* %c – 依照 ASCII 值的字符
* %d – 带符号十进制数
* %e – 可续计数法(比如 1.5e+3)
* %u – 无符号十进制数
* %f – 浮点数(local settings aware)
* %F – 浮点数(not local settings aware)
* %o – 八进制数
* %s – 字符串
* %x – 十六进制数(小写字母)
* %X – 十六进制数(大写字母)
arg1, arg2, arg++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的,在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 “\$” 组成。可使用数字指定显示的参数,详情请看例子。
例子:


代码如下:

<?php
printf("My name is %s %s。","55nav", "com"); // My name is 55nav com。
printf("My name is %1\$s %1\$s","55nav", "com"); // 在s前添加1\$或2\$.....表示后面的参数显示的位置,此行输出 My name is 55nav 55nav因为只显示第一个参数两次。
printf("My name is %2\$s %1\$s","55nav", "com"); // My name is com 55nav 
?>

五、sprintf函数
此函数使用方法和printf一样,唯一不同的就是该函数把格式化的字符串写写入一个变量中,而不是输出来。
例子:


代码如下:

<?php
sprintf("My name is %1\$s %1\$s","55nav", "com");  //你会发现没有任何东西输出的。 
$out = sprintf("My name is %1\$s %2\$s","55nav", "com"); 
echo $out;  //输出 My name is 55nav com 
?>

六、var_dump函数
功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。


代码如下:

<?php
$a=100;
var_dump($a); //int(100)
$a=100.356;
var_dump($a); //float(100.356)
?>

(0)

相关推荐

  • PHP打印输出函数汇总

    本篇文章一直来学习PHP中所有用于输出信息的函数,分类比较来学习其相同点与不同点,掌握日常开发中必备的技巧. 开发就一定需要调试代码,而PHP调试代码不能像iOS那种编译器语言可以通过Xcode这样的开发软件来单步调试,因此开发PHP的人员通常会通过输出函数打印相关提示信息来调试代码. PHP中常用的打印输出的函数一步步讲解 echo echo函数可以同时输出多个字符串,带多个参数,但并不要求使用圆括号,也没有返回值.但是,如果带上圆括号也没有问题的,因此函数本就需要圆括号的: echo '标哥

  • PHP 输出缓存详解

    输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用. 我们先举一个简单的例子,让大家对Output Control有一个大致的印象: Example 1. 复制代码 代码如下: <?php ob_start(); //打开缓冲区 echo \"Hellon\"; //输出 header("location:index.php"); //把浏览器重定向到in

  • php数组(array)输出的三种形式详解

    复制代码 代码如下: $bbbb=array("11"=>"aaa","22"=>"bbb");//只能输出值value不能输出keyforeach($bbbb as $color){ echo $color;}//value与key都可输出foreach($bbbb as $key=>$value){ echo $key."=>".$value;} //value与key都可输出w

  • PHP实时显示输出

    //实时显示输出 ob_end_flush();//关闭缓存 //echo str_repeat(" ",256); //ie下 需要先发送256个字节 set_time_limit(0); for($i=0;$i<10;$i++){ echo "Now Index is :". $i."<br>"; flush(); sleep(1); }

  • php echo 输出字符串函数详解

    复制代码 代码如下: echo "asd";//字符串 echo "ads$c";//字符串+变量 echo 'ads$c';//字符串 asd$c $c不是变量 echo "sd"."vs"; echo "sd","vs"; echo $a; echo $a.$b; echo $a,$b; echo $a.$b.$c; echo $a,$b,$c; echo "kaskd{$

  • PHP学习之输出字符串(echo,print,printf,print_r和var_dump)

    下面一一进行介绍. 1. echo echo 是PHP的一个关键字,它没有返回值.在写法上,它可以省略小括号.如下代码: 复制代码 代码如下: echo 'Test String'; echo('Test String'); 2. print print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有.在写法上,它和echo一样,可以省略小括号.如下代码: 复制代码 代码如下: print 'Test String'; print('Test String')

  • echo(),print(),print_r()之间的区别?

    echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)  print只能打印出简单类型变量的值(如int,string)  print_r可以打印出复杂类型变量的值(如数组,对象) echo -- 输出一个或者多个字符串  Description  void echo ( string arg1 [, string ...] ) //返回值为空  echo "你好"," 朋友"; print --输出一个字符串  D

  • 浅析echo(),print(),print_r(),return之间的区别

    PHP中echo(),print(),print_r(),return的区别? 往往有很多新手和不太使用print()的朋友就答不好这个问题 从而面试失败. 那么究竟她们有什么区别呢?下面我们来看看 答案:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)print() 只能打印出简单类型变量的值(如int,string)print_r() 可以打印出复杂类型变量的值(如数组,对象)return 语句 从当前函数退出,并从那个函数返回一个值.

  • php echo, print, print_r, sprintf, var_dump, var_expor的使用区别

    /*******echo********/echo- 输出一个或多个字符串描述echo ( string arg1 [, string ...] )echo()实际上不是一个函数(它是一个语言结构),所以您不需要使用括号.echo()的(不同于其他一些语言构造)并不像一个功能,所以它不能总是在函数中使用.此外,如果你想传递多个参数的echo(),参数必须不被括在括号内.echo()是命令,不能返回值.echo后面可以跟很多个参数,之间用分号隔开,如:echo $myvar1;echo 1,2,$

  • 浅析Java中print、printf、println的区别

    printf主要是继承了C语言的printf的一些特性,可以进行格式化输出print就是一般的标准输出,但是不换行println和print基本没什么差别,就是最后会换行System.out.printf("the number is: d",t); 参照JAVA API的定义如下:'d' 整数 结果被格式化为十进制整数'o' 整数 结果被格式化为八进制整数'x', 'X' 整数 结果被格式化为十六进制整数'e', 'E' 浮点 结果被格式化为用计算机科学记数法表示的十进制数'f' 浮

  • php中print(),print_r(),echo()的区别详解

    echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()      只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo        输出一个或者多个字符串 print --输出一个字符串 Description int print ( string arg )//返回值为整形 print " 你好朋友" ; 可以进行下面操作 复制代码 代码如下:

  • PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码

    大家在面试中,经常会被问到的问题: 请简要说明PHP的打印方式都有哪些? 或者直接点问: 请说明echo.print.print_r的区别 看着很简单,一般会出现在初中级的笔试题中.但是要真正说明白这些语言结构或者函数也不是那么简单的事情.今天我们就来好好看看这些打印输出相关的内容. echo 最基础的输出语句,不是函数是语言结构,不需要括号.可以使用参数列表,用逗号分隔.但如果加了括号就不能用逗号分隔着输出了.没有返回值. echo 'fullstackpm'; // 正常输出:fullsta

  • php常用字符串输出方法分析(echo,print,printf及sprintf) 原创

    本文讲述了php常用字符串输出方法.分享给大家共大家参考,具体如下: 1. echo用法:可用echo 直接输出,也可以用echo()输出,无返回值 $string="<b>加粗显示文字</b>"; echo $string; //echo "<br/>"; //echo($string);//效果同上 echo "<br/>"; echo "This ", "is &

  • perl之print,printf,sprintf使用案例详解

    目录 print printf sprintf 区别 参考文档 详细用法,可以查看perl用户手册. perldoc -f print perldoc -f printf perldoc -f sprintf 他们各自支持的命令格式,都有三四种.但是常用的,也就一两种. print 常用: print LIST print FILEHANDLE LIST 不常用(主要是因为隐含的细节,会导致阅读上的障碍吧): print FILEHANDLE print print $foo; print "H

  • 解析php中var_dump,var_export,print_r三个函数的区别

    下面的示例看看这三个函数的具体的区别,其中var_dump和var_export比较少用,但他们两者又很相似.所以可以看看: 复制代码 代码如下: <?php$a = array(1,1,32,322,3433,array(32,232,23232));$b = 1234;$c = "alsdfl;asdf";$d = 'a';$e = fopen("slsl.txt", "r");var_dump($a);echo "<b

随机推荐