簡單的除錯方法:echo, print_r, var_dump, exit, debug_backtrace(), debug_print_backtrace(), gettype(), get_class() 等等函式。
echo, print_r, var_dump: 列印變數(包括陣列和自定義的object)的值。
exit: 立即退出所有執行,但已經輸出的返回給瀏覽器,即會顯示。
有返回,而debug_print_backtrace()無返回:$data =debug_backtrace(); 也可以用如下**達到目的:
$e =new exception();$error_string = $e->gettraceasstring();
$error_string = print_r($e->gettrace(), true); // 返回更詳細,如 區域性變數,行號等
echo ''; var_dump($error_string); echo ''; // 前後都新增 echo ''; 可以將回車鍵顯示出來
// 告訴瀏覽器中間的輸出為plain text),因為html中回車鍵沒作用。
gettype(), get_class(): 乙個是獲取變數型別,乙個是獲取變數的class。 如 gettype($a), get_class($a)
示例:echo $a; // 或者 print_r($a), 或者 var_dump($a),或者 echo gettype($a), echo get_class($a)
exit;
$a輸出沒問題的話就在下乙個輸出加exit,雖然效率慢點,但很容易找出**錯了。
debug_backtrace(), debug_print_backtrace()也是直接插入到你要列印呼叫棧的地方。
debug_print_backtrace() 的輸出範例:
#0 c() called at [/tmp/include.php:10]#1 b() called at [/tmp/include.php:6]
#2 a() called at [/tmp/include.php:17]
#3 include(/tmp/include.php) called at [/tmp/test.php:3]
名字體別說明
function
string
line
integer
file
string
class
string
object
object
type
string
當前呼叫的型別。如果是乙個方法,會返回 "->"。如果是乙個靜態方法,會返回 "::"。 如果是乙個函式呼叫,則返回空。
args
array
如果在乙個函式裡,這會列出函式的引數。 如果是在乙個被包含的檔案裡,會列出包含的檔名。
:
array(2)$arr=array(array('a'=>'aa','b'=>'bbb','c'=>'ccc'),}[1]=>
array(4)
["function"] => string(12) "include_once"
}}
array('a'=>'ddd','b'=>'eee','c'=>'fff'),
array('a'=>'gg','b'=>'hh'));
print_r($arr);
//print_r輸出:
//array ( [0] => array ( [a] => aa [b] => bbb [c] => ccc )
[1] => array ( [a] => ddd [b] => eee [c] => fff )
[2] => array ( [a] => gg [b] => hh ) )
//var_dump輸出:
/* array (size=3)
0 =>
array (size=3)
'a' => string 'aa' (length=2)
'b' => string 'bbb' (length=3)
'c' => string 'ccc' (length=3)
1 =>
array (size=3)
'a' => string 'ddd' (length=3)
'b' => string 'eee' (length=3)
'c' => string 'fff' (length=3)
2 =>
array (size=2)
'a' => string 'gg' (length=2)
'b' => string 'hh' (length=2)
*/下面在給出乙個json格式的輸出:
$arr=array(array('a'=>'aa','b'=>'bbb','c'=>'ccc'),
array('a'=>'ddd','b'=>'eee','c'=>'fff'),
array('a'=>'gg','b'=>'hh'));
$arra=json_encode($arr);
print_r($arra);
//print_r輸出:
[,,]
var_export($arra);
//var_export輸出:
'[,,]'
var_dump($arra);
//var_dump輸出:
string '[,,]' (length=84)
Oracle簡單易用的表結構匯出方法
最近做專案時需要給客戶匯出資料庫表結構文件,庫中表名及列已有注釋,可是要輸出乙份表結構文件要借助第三方工具 如powerdesigner 那有沒有更簡單的方式呢?當然有,自己做豐衣足食!附 將輸出的文字存入x.htm,雙擊檢視就行,至於排版可以拷貝頁面到word中搞定 declare i integ...
php做簡單的登入,PHP實現簡易使用者登入系統
最近剛剛看到php連線資料庫的例項,於是做了乙個簡易的使用者系統 直接上 連線資料庫 connect.php servername localhost username formbd password formbd dbname form 建立連線 conn new mysqli servernam...
storm簡單易用的API
這是本人翻譯storm的一篇英文文章,英文位址是如有紕漏,歡迎指正 或請參照原文,純屬個人愛好。storm提供了簡單易用的api。當使用storm程式設計時,只需要操縱轉換tuple的流資訊,乙個tuple就是乙個值的列表。tuple可以包含任何資料型別,當使用自定義資料型別時,我們只需要簡單的使用...