• echo(),print(),print_r(),var_dump的区别?


    常见的输出语句

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

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

    print_r()
    可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印" "。因此用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()输出的信息是最丰富的,所以经常使用这个函数来调试程序。

  • 相关阅读:
    从零开始学Go之函数(一):匿名函数与闭包
    从零开始学Go之容器(四):列表
    从零开始学Go之容器(三):映射
    从零开始学Go之容器(二):切片
    从零开始学Go之容器(一):数组
    从零开始学Go之基本(五):结构体
    从零开始学Go之基本(四):流程控制语句
    从零开始学Go之基本(三):类型转换与常量
    Java 单例设计模式
    Java 数组
  • 原文地址:https://www.cnblogs.com/lixiansen/p/5615794.html
Copyright © 2020-2023  润新知