PHP输出函数print, printf, sprintf的区别

PHP中常用的字符串输出方式是:使用echo和print两种方法来显示字符串。如果涉及格式化输出操作,还可以试用printf和sprintf函数。

一、先说echo和print两种方法

  1. print的语法格式为:int print ( string $arg   )
  2. echo的语法格式为:void echo ( string $arg1   [, string $...  ] )

echo都是一种类似于函数的输出方式而非函数,没有返回值,且支持多参数;

print是输出函数,其返回值为int类型的1,且只支持一个参数。

echo用法即可以用英文逗号","连接多参数,也可以用英文点号"."作为连符组成一个参数,举个栗子:

echo ‘This ‘, ‘string ‘, ‘was ‘, ‘made ‘, ‘with multiple parameters.‘, chr(10);
echo ‘This ‘ . ‘string ‘ . ‘was ‘ . ‘made ‘ . ‘with concatenation.‘ . "\n";

print就不能用上面的英文逗号","连接多参数,只能用英文点号"."作为连符组成一个参数。例如上述第二句用print写法为:

print(‘This ‘ . ‘string ‘ . ‘was ‘ . ‘made ‘ . ‘with concatenation.‘ . "\n");

二、重点来了,在PHP中sprintf和printf函数都是用来格式化操作字符串的,两者的输出语法格式分别为:

  1. printf的语法格式为:int printf    ( string $format   [, mixed $args   [, mixed $...  ]] )
  2. sprintf的语法格式为:string sprintf    ( string $format   [, mixed $args   [, mixed $...  ]] )

两者的区别是:

  1. printf()函数可以直接将格式化之后的字符串输出,而sprintf()函数需要使用echo方法将格式化后的字符串输出。
  2. printf()函数的返回值为int类型,表示打印出来字符串的字符数量,而sprintf()函数的返回值为一个字符串。

举个例子就都明白了:

<h3>PHP输出函数print,printf,sprintf的区别</h3>  <?PHP  $str=‘This is an example for this.‘;  echo $str."<br>";     //这里输出This is an example for this.$number=print ($str."<br>");    //这里输出This is an example for this.echo $number."<br>";  //这里输出1$format="%b, %c, %d, %s";  $num1=printf($format,65,65,65,65);   //这里输出1000001, A, 65, 65echo "<br>";echo $num1."<br>";  //这里输出18,对应字符串的个数echo sprintf($format,97,97,97,97);  //这里利用echo输出1100001, a, 97, 97?>
时间: 2024-10-13 00:24:09

PHP输出函数print, printf, sprintf的区别的相关文章

PHP基础温习之echo print printf sprintf print_r var_dump的用法与区别

原文:PHP基础温习之echo print printf sprintf print_r var_dump的用法与区别 一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不返回值,所以不能使用它来赋值.例子: 复制代码代码如下: <?php $a = echo("55nav"); // 错误!不能用来赋值 echo "55n

PHP echo, print, printf, sprintf函数的区别和使用

1. echo函数: 输出函数,是命令,不能返回值.echo后面可以跟很多个参数,之间用分号隔开,如: echo $myvar1; echo 1,2,$myvar,"<b>bold</b>"; 2. print函数: 是函数,可以返回一个值,只能有一个参数. int print ( string arg ) Outputs arg . Returns 1 ,  always. 3. printf函数: int printf ( string format [,

[转]PHP echo, print, printf, sprintf函数的区别和使用

1. echo函数: 输出函数,是命令,不能返回值.echo后面可以跟很多个参数,之间用分号隔开,如: echo $myvar1; echo 1,2,$myvar,"<b>bold</b>"; 2. print函数: 是函数,可以返回一个值,只能有一个参数. int print ( string arg ) Outputs arg . Returns 1 , always. 3. printf函数: int printf ( string format [, m

echo print printf sprintf print_r var_dump的用法与区别

一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不返回值,所以不能使用它来赋值.例子: 复制代码代码如下: <?php $a = echo("55nav"); // 错误!不能用来赋值 echo "55nav"; // 55nav echo ("55nav"); // 55nav echo (

printf,sprintf,vsprintf 区别【转】

转自:http://blog.csdn.net/anye3000/article/details/6593551 有C语言写作历史的程序员往往特别喜欢printf 函数.即使可以使用更简单的命令(例如puts),但printf 出现在Kernighan和Ritchie的「hello, world」程序中一点也不会令人惊奇.我们知道,增强后的「hello, world」最终还是需要printf 的格式化输出,因此我们最好从头开始就使用它. 但有个坏消息:在Windows程序中不能使用printf.

echo() print() printf() print_r() 的区别

echo是一个语言结构而非函数,因此它无法被变量函数调用, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()    只能打印出简单类型变量的值(如int,string)   print_r() 可以打印出复杂类型变量的值(如数组,对象)  echo     输出一个或者多个字符串 echo -- 输出一个或者多个字符串Descrīptionvoid echo ( string arg1 [, string ...] ) //返回值为空echo "你

php中sprintf与printf函数用法区别

下面是一个示例:四舍五入保留小数点后两位 <?php $num1 = 21; echo sprintf("%0.2f",$num1)."<br />"; //输出 21.00 $num2 = 16.3287; echo sprintf("%0.2f",$num2)."<br />"; //输出 16.33 $num3 = 32.12329; echo sprintf("%0.2f&quo

PHP学习之输出字符串(echo,print,printf,printr和vardump)

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

php的echo(),print(),print_r()的区别

echo() 和 print() 都属于语言结构(http://my.oschina.net/banbo/blog/295580),可不带括号:echo $a;  print $a; (1) echo 可以一次输出多个值,多个值直接用逗号分隔,如:echo $a,$b; 没有返回值,支持表达式:echo $a + 1,$b + 2;. (2) print 不可以一次输出多个值,print $a; 有 int 返回值,打印正确返回 1, 打印失败返回 0,支持表达式:print $a + 1.ec