首頁 >後端開發 >php教程 >改進PHP的var_dump方法使之適應顯示從資料庫中查出來的數據

改進PHP的var_dump方法使之適應顯示從資料庫中查出來的數據

WBOY
WBOY原創
2016-07-30 13:30:18929瀏覽

這是一個改進的輸出數組結構的函數,方便顯示從資料庫中查出來的資料。

/**
     * array(7) {
        [0] => array(32) {
            ["order_id"] => string(2) "34"
            ["shipping_time"] => string(1) "0"
            ["created_at"] => string(10) "1433565988"
        }
        [1] => array(32) {
            ["order_id"] => string(2) "35"
            ["shipping_time"] => string(1) "0"
            ["created_at"] => string(10) "1433573933"
        }
        [2] => array(32) {
            ["order_id"] => string(2) "36"
            ["order_sn"] => string(9) "BJA000036"
            ["wx_trade_no"] => string(32) "wx712cd30713b968c114336440083628"
        }
     * 形如上面这样的数组,使用var_dump()函数打印的时候会打印出所有的数据项,尤其是在数据库字段较多的情况下,
     * 不便于找到自己感兴趣的数据。
     * 本方法改进了var_dump()方法,可以指定要打印的键。例如想看从order表中查处的order_id和city_id,
     * 可以这样使用:du($order,['order_id','city_id'])
     * 输出如下格式:
     *array[7] {
        [0] =>array[32] {
            [order_id] => string(2) : 34
            [city_id] => string(1) : 0
        }
        [1] =>array[32] {
            [order_id] => string(2) : 35
            [city_id] => string(1) : 0
        }
        [2] =>array[32] {
            [order_id] => string(2) : 36
            [city_id] => string(1) : 0
        }
        [3] =>array[32] {
            [order_id] => string(2) : 37
            [city_id] => string(1) : 0
        }
     }
     * @param $data 要显示结构的变量
     * @param $keys 要显示的键,为空则显示所有的键
     * @param $echo 是否输出结果到浏览器
     */
    public function du($data,$keys='',$echo=true)
    {
        $message = '';
        $message .= gettype($data) . "[" . count($data) . "] {" . "<br>";
        foreach ($data as $cc => $c) {
            $message .= " [" . $cc . "] =>" . gettype($c) . "[" . count($c) . "] {" . "<br>";
            foreach ($c as $key => $value) {
                if (empty($keys)) {
                    $message .= "  [" . $key . "]" . " => " . gettype($value) . "(" . strlen($value) . ")" . " : <span style=&#39;color:blue&#39;>" . $value . "</span>";
                    $message .= "<br>";
                } else if (in_array($key, $keys)) {
                    $message .= "  [" . $key . "]" . " => " . gettype($value) . "(" . strlen($value) . ")" . " : <span style=&#39;color:blue&#39;>" . $value . "</span>";
                    $message .= "<br>";
                }
            }
            $message .= "  }";
            $message .= "<br>";
        }
        $message .= "}";
        if ($echo) {
            echo $message;
        } else {
            return $message;
        }
    }


版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

以上就介紹了改進PHP的var_dump方法使之適應顯示從資料庫中查出來的數據,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn