echo print() print_r() var_dump()的區別


常見的輸出語句

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()輸出的信息是最豐富的,所以經常使用這個函數來調試程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM