echoprint()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()輸出的資訊是最豐富的,所以經常使用這個函式來除錯程式。
作者:Tyler Ning
出處:http://www.cnblogs.com/tylerdonet/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,如有問題,可以通過以下郵箱地址williamningdong@gmail.com
聯絡我,非常感謝。
相關文章
- PHP 列印函式之 print print_rPHP函式
- php中的var_dump()方法的詳細說明PHP
- PHP 自己實現var_dump函式PHP函式
- php中var_dump()函式的詳解說明PHP函式
- ??與?:的區別
- 蜂蜜的區別
- 和 的區別
- as 和 with的區別
- ||和??的區別
- /*和/**的區別
- 把 var_dump 的結果儲存進同名 log 檔案的方法
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- @synthesize @dynamic 的區別
- ../和./和/的區別
- CMM/CMMI 的區別
- scala中:: , +:, :+, :::, +++的區別
- ./ 和sh 的區別
- JQuery this和$(this)的區別jQuery
- jquery $(this) 和this的區別jQuery
- T和?的區別
- JavaScript中的“=、==、===”區別JavaScript
- ++a和a++的區別
- MySQL的@與@@區別MySql
- mybatis #與$的區別MyBatis
- BIO、NIO的區別
- PHP版本的區別PHP
- Null 與 “” 的區別Null
- restore,recover的區別REST
- truncate delete 的區別delete
- makefile =和:=的區別
- UIModalPresentationStyle 各種型別的區別UI型別
- 值型別與引用型別的區別型別
- Golang的值型別和引用型別的範圍、儲存區域、區別Golang型別
- Mybatis中#{}和${}傳參的區別及#和$的區別小結MyBatis
- JS 的型別(null 和 undefined 的區別)JS型別NullUndefined
- 互斥量與臨界區的區別
- Android中 @和?區別以及?attr/**與@style/**等的區別Android