PHP中输出字符串(echo,print,printf,print_r和var_dump)的区别【转载】

php中常见的输出语句

echo()
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。

print_r()
可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。

var_dump()
判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

看下面的代码form1.php

<html>
    <head>
        <title></title>
    </head>
    <body>
        <form action="formprocess1.php" method="post">
        <table>
            <tr>
                <td>Name</td>
                <td><input type="text" name="name" id="name"/></td>
            </tr>
            <tr>
                <td colspan="2" style="text-aligh:center">
                <input type="Submit" name="Submit" value="Submit" />
                </td>
            </tr>
        </table>
        </form>
    </body>
</html>

formprocess1.php

<html>
    <head>
        <title></title>
        <body>
        <?php
        echo ‘<h1>Hello ‘ .$_POST["name"]. ‘!</h1>‘;
        ?>
        <pre>
        <strong>DEGUG:</strong>
        <?php
        echo($_POST);
        ?>
        </pre>
        </body>
    </head>
</html>

使用echo输出的结果是:

Hello !

		DEGUG:
		Array	

使用print()输出的结果是:

Hello !

		DEGUG:
		Array

使用print_r()输出的结果是:

Hello !

		DEGUG:
		Array
(
    [name] =>
    [Submit] => Submit
)

使用var_dump()输出的结果是:

Hello !

		DEGUG:
		array(2) {
  ["name"]=>
  string(0) ""
  ["Submit"]=>
  string(6) "Submit"
}

我们可以看到var_dump()输出的信息是最丰富的,所以经常使用这个函数来调试程序。

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址[email protected] 联系我,非常感谢。

时间: 2025-01-16 00:49:01

PHP中输出字符串(echo,print,printf,print_r和var_dump)的区别【转载】的相关文章

递归和迭代总结和Echo,print,printf,print_r 和var_dump的区别

http://files.cnblogs.com/files/yexiaodoong/Echo%E5%92%8Cprint%E7%AD%89%E5%8C%BA%E5%88%AB.rar http://files.cnblogs.com/files/yexiaodoong/%E9%80%92%E5%BD%92%E5%92%8C%E8%BF%AD%E4%BB%A3%E6%80%BB%E7%BB%93.rar

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')

php7中echo,print,print_r,var_dump 的区别

来跟讲述一下php7中echo,print,print_r,var_dump 的区别 1.echo 输出一个或者多个字符串. 2.print 和 echo 最主要的区别: print 仅支持一个参数,并总是返回 1. 3.print_r 打印关于变量的易于理解的信息,如果给出的是 string.integer 或 float,将打印变量值本身.如果给出的是 array,将会按照一定格式显示键和元素.object 与数组类似. 记住,print_r() 将把数组的指针移到最后边.使用 reset(

PHP中echo()、print()、print_r()、var_dump()的区别

常见的输出语句 echo()可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. print()print()输出字符串.print() 实际上不是一个函数(它是一个语言结构)所以不能被可变函数调用,因此你可以不必使用圆括号来括起它的参数列表. print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头.但print_r()输出布尔值和NULL

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

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

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()、print_r()、var_dump()、pinrtf()之间的区别

echo().print().print_r().var_dump().pinrtf()之间的区别 1.print() :简单输出语句,可以输出字符串,变量.表达式等单项的值!(不能输出数组.对象等复杂数据类型) 2.echo()  : 跟print语句是一样的,也是简单输出语句,但是一次可以输出多个数据,中间以逗号分隔! 3.var_dump()  : 不仅仅可以输出一个或多个数据项的值,还可以打印出数据项的类型.长度等额外的信息!而且可以输出复杂数据类型! 4.print_r()  : 和v

PHP echo()、print()、print_r()、var_dump()、var_export()的区别

PHP中echo.print.print_r.var_dump.var_export的用法与区别 这些均为输出变量的内容: echo();不是函数.是PHP语句.没有返回值:输出一个或者多个字符串或者变量值: print()本质上是一个语言结构而非函数.返回值总是1:用于输出一个或多个字符串或变量的信息:打印出简单类型变量的值.不能打印数组和对象:注意:print()效率低于echo(): print_r()是函数.用于打印关于变量的易于理解的信息:如果给的是string.integer.flo

在视图中输出字符串及数据类型的转换

 1:在@{}代码块中输出字符串 @{ 1)Response.Write(字符串); 2)@Html.Raw("<p>哇哈哈</p>");  //不会转义HTML 3)string str="<p>哇哈哈</p>";   //会转义成html @str: 4)HtmlString htm=new HtmlString("<p>哇哈哈</p>");   //不会转义HTML