程序员人生 网站导航

php中echo、print、print_r、printf、sprintf、var_dump用法介绍

栏目:php教程时间:2014-04-22 01:06:49

文章介绍了echo、print、print_r、printf、sprintf、var_dump,有需要了解的朋友可参考一下.

一、echo

定义和用法

PHP echo() 函数输出一个或多个字符串.

echo "" 这种方法也可以,不需要括号都行

语法

echo(strings) 

参数 描述 

strings 必需.一个或多个要发送到输出的字符串.

提示和注释

注释.echo() 实际上不是一个函数,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个或多个参数,那么使用括号会发生解析错误.

提示.echo() 函数比 print() 函数快一点点.

提示.echo() 函数可以使用简化语法.参见例子 5.

实例代码如下:

  1. <?php 
  2. $str = "Who's John Adams?"
  3. echo $str
  4. echo "<br />"
  5. echo $str."<br />I don't know!"
  6. ?> 

输出.

Who's John Adam?

Who's John Adam?

I don't know!

例子 2

  1. <?php 
  2. echo "This text spans multiple lines."
  3. ?> 

输出.

This text spans multiple lines.

例子 3

  1. <?php 
  2. echo 'This ','string ','was ','made ','with multiple parameters'
  3. ?> 

输出.

This string was made with multiple parameters

例子 4

单引号和双引号的不同之处.单引号仅输出变量名,而不是值.

  1. <?php 
  2. $color = "red"
  3. echo "Roses are $color";echo "<br />"
  4. echo 'Roses are $color';?> 

输出.

Roses are red Roses are $color

例子 5

简化语法.

  1. <html> <body> <?php 
  2. $color = "red"
  3. ?> <p>Roses are <?=$color?></p> </body> </html> 

二、print

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

例子.

实例代码如下:

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

三、print_r 函数

print_r函数打印关于变量的易于理解的信息.

语法.mixed print_r ( mixed $expression [, bool return ] )

如果变量是string , integer or float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,也就是有key和value对应的那种格式.对于object对象类同.print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值TRUE.

实例代码如下:

  1. <?php 
  2.  $a="55nav"
  3.  $c = print_r($a);  
  4.  echo $c;  // $c的值是TRUE  
  5.  $c = print_r($a, ture);  
  6.  echo $c// $c的值是字符串55nav  
  7.  ?> 

四、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 参数,则您必须使用占位符.占位符被插入 % 符号之后,由数字和 “$” 组成.可使用数字指定显示的参数,详情请看例子.

实例代码如下:

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

五、function/43020.htm target=_blank >sprintf函

参数 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, ++ 等参数将插入到主字符串中的百分号 (%) 符号处.该函数是逐步执行的.在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推.

提示和注释

注释.如果 % 符号多于 arg 参数,则您必须使用占位符.占位符插到 % 符号后面,由数字和 "$" 组成.请参见例子 3.

提示. 相关函数. fprintf()、 printf()、 vfprintf()、 vprintf() 以及 vsprintf().

实例代码如下:

  1. <?php 
  2. $str = "Hello"
  3. $number = 123; 
  4. $txt = sprintf("%s world. Day number %u",$str,$number); 
  5. echo $txt
  6. ?> 

输出.

Hello world. Day number 123

  1. <?php 
  2.  
  3. $number = 123; 
  4. $txt = sprintf("%f",$number); 
  5. echo $txt
  6. ?> 

输出.

123.000000

  1. <?php 
  2. $number = 123; 
  3. $txt = sprintf("With 2 decimals. %1$.2f<br />With no decimals. %1$u",$number); 
  4. echo $txt
  5. ?> 

输出.

With 2 decimals. 123.00 With no decimals. 123

PHP String 函数

六、var_dump函数

var_dump   (PHP 3 >= 3.0.5, PHP 4, PHP 5)   

var_dump -- 打印变量的相关信息

void var_dump ( mixed expression [, mixed expression [, ...]] )   

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值.数组将递归展开值,通过缩进显示其结构.   

提示. 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数(output-control functions)来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中.   

可以比较一下 var_dump() 与 print_r().

实例代码如下:

  1. <pre> 
  2.   <?php 
  3.   $a = array (1, 2, array ("a""b""c")); 
  4.   var_dump ($a); 
  5.   /* 输出. 
  6.   array(3) { 
  7.   [0]=> 
  8.   int(1) 
  9.   [1]=> 
  10.   int(2) 
  11.   [2]=> 
  12.   array(3) { 
  13.   [0]=> 
  14.   string(1) "a" 
  15.   [1]=> 
  16.   string(1) "b" 
  17.   [2]=> 
  18.   string(1) "c" 
  19.   } 
  20.   } 
  21.   */ 
  22.   $b = 3.1; 
  23.   $c = TRUE; 
  24.   var_dump($b,$c); 
  25.   /* 输出. 
  26.   float(3.1) 
  27.   bool(true) 
  28.   */ 
  29.   ?> 
  30.   </pre>  
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐